Assgarth Opublikowano 24 Maja 2011 Zgłoś Opublikowano 24 Maja 2011 Witam, nie wiedząc po co i dlaczego z takim skutkiem, ZwCAD w wersji 2011 (_VERNUM = "2011.02.28(16649)") wprowadził zmiany w kodzie DXF... Dla porównania: ZwCAD2010 v.2010.08.30(12725.441) Wybierz obiekty: ((-1 . ) (0 . "LWPOLYLINE") (5 . "8B9") (67 . 0) (8 . "BZ_P_STRZ") (410 . "Model") (62 . 256) (6 . "ByLayer") (370 . -1) (48 . 1.00000) (60 . 0) (90 . 4.00000) (70 . 0) (43 . 0.000000) (38 . 0.000000) (39 . 0.000000) (210 0.000000 0.000000 1.00000) (10 702.643 615.211 0.000000) (40 . 0.000000) (41 . 0.000000) (42 . 0.000000) (10 766.196 929.005 0.000000) (40 . 0.000000) (41 . 0.000000) (42 . 0.000000) (10 994.590 1167.33 0.000000) (40 . 0.000000) (41 . 0.000000) (42 . 0.000000) (10 1177.31 1270.60 0.000000) (40 . 0.000000) (41 . 0.000000) (42 . 0.000000)) ZwCAD2011 v.2011.02.28(16649) Wybierz obiekty: ((-1 . ) (0 . "LWPOLYLINE") (5 . "8B9") (100 . "AcDbEntity") (67 . 0) (8 . "BZ_P_STRZ") (100 . "AcDbCurve") (100 . "AcDbPolyline") (410 . "Model") (62 . 256) (6 . "ByLayer") (370 . -1) (48 . 1.00000) (60 . 0) (90 . 4.00000) (70 . 0) (43 . 0.000000) (38 . 0.000000) (39 . 0.000000) (210 0.000000 0.000000 1.00000) (10.0000 702.643 615.211) (40 . 0.000000) (41 . 0.000000) (42 . 0.000000) (10.0000 766.196 929.005) (40 . 0.000000) (41 . 0.000000) (42 . 0.000000) (10.0000 994.590 1167.33) (40 . 0.000000) (41 . 0.000000) (42 . 0.000000) (10.0000 1177.31 1270.60) (40 . 0.000000) (41 . 0.000000) (42 . 0.000000)) AutoCAD2010 Select object: ((-1 . ) (0 . "LWPOLYLINE") (330 . ) (5 . "8B9") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "BZ_P_STRZ") (100 . "AcDbPolyline") (90 . 4) (70 . 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 702.643 615.211) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 766.196 929.005) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 994.59 1167.33) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 1177.31 1270.6) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0)) Jak widać, zmian jest troszkę, ale najgorsze jest to, że wartości kodu DXF 10, czyli współrzędne punktów, zostały pozbawione współrzędnej Z... i wszystko by było okey, gdyby nie wpływało to na działanie aplikacji LISP, które się do tej informacji odwołują... AutoCAD (nic nowego) świetnie sobie z tym radzi np. w przypadku wywołania typu (entsel), natomiast nowa wersja ZwCADa już nie... Co dziwniejsze, nie jest to do uchwycenia w pierwszym wywołaniu polecenia, tylko w którymś z kolei i z moich obserwacji wynika, że dzieje się tak po edycji na polilinii typu "_join" (już kiedyś to działanie całkowicie rozmontowywało ZwCADa, co zresztą zgłaszałem)... Wskaż punkt: ( (1671.33 667.762 0.000000)) po działaniu na polilinii: (1816.50 546.363 0.000000) Wskaż punkt: ( (824.019 184.604 0.000000)) po działaniu na polilinii: (669.299 67.9644) Nie mam za bardzo jak wrzucić tutaj przykładu w postaci kodu, gdyż jest to wielopłaszczyznowe odwołanie do obiektu (wraz ze wspomnianą edycją typu "join"), stąd prośba o zwrócenie uwagi, czy ktoś z Was również się z tym spotkał - może uda się ustalić dokładnie sytuację, w której następuje błąd i ładnie opisać go do support ZwCADa. Na chwilę obecną temat obchodzę, sztucznie dodając współrzędną Z (obecnie działam na płaskim rysunku, więc 0.0 załatwia sprawę), lecz w przyszłości może być to niewystarczające... Cytuj
kruszynski Opublikowano 25 Maja 2011 Zgłoś Opublikowano 25 Maja 2011 Zmiany te zostały wprowadzone w celu ujednolicenia z AutCADem. Z samego kodu, który Pan umieścił wynika, że w AutoCAD współrzędne (kod 10) są listą dwuelementową. I to też będzie standardem w ZWCAD. Jeśli używa Pan list 3 elementowych w dalszych operacjach, sugeruję dodać współrzędną z np tak: (if (<(length ListaWsp)3)(setq ListaWsp (append ListaWsp (list 0)))) Cytuj
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.