Assgarth Opublikowano 24 Maja 2011 Zgłoś Udostępnij 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 25 Maja 2011 Zgłoś Udostępnij 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
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ą.