gruzin Opublikowano 17 Sierpnia 2011 Zgłoś Udostępnij Opublikowano 17 Sierpnia 2011 Zastanawiam się jak stworzyć w ZWCADZie bloki anonimowe. Do Acada jest odpowiedni skrypt ale nie można go podejrzeć: http://kojacek.republika.pl/mab.html Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 17 Sierpnia 2011 Zgłoś Udostępnij Opublikowano 17 Sierpnia 2011 W LISP za przykład może posłużyć : (setq defnition(entmake (list (cons 0 "BLOCK") (cons 100 "AcDbEntity")(cons 100 "AcDbBlockBegin")(cons 67 0)(cons 8 "0")(cons 70 0)(cons 10 (list 0.0 0.0 0.0))(cons 2 "*Z")(cons 1 "")))) (setq LiniaDef(entmake (list '(0 . "LINE") '(100 . "AcDbEntity") '(100 . "AcDbLine")(cons 10 (list 0 0 0))(cons 11 (list 100 120 0))))) (setq BezNazwa(entmake '((0 . "ENDBLK")))) (setq Insertion(entmake(setq naglowek (list '(0 . "INSERT") '(100 . "AcDbEntity")'(100 . "AcDbBlockReference") (cons 2 BezNazwa) (cons 10 (getpoint)) (cons 50 0) '(66 . 1) ) ))) (entmake (quote((0 ."SEQEND")))) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jason Opublikowano 18 Sierpnia 2011 Zgłoś Udostępnij Opublikowano 18 Sierpnia 2011 probuj tego j. MakeAnonymousBlock.zip Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gruzin Opublikowano 19 Sierpnia 2011 Autor Zgłoś Udostępnij Opublikowano 19 Sierpnia 2011 Działa łądnie ale tylko w Au.. (programie konkurencyjnym). W ZWCadzie wyskakuje błąd: error: *Error*(VLA-ADD (VLA-GET-BLOCKS DOC) (VLAX-3D-POINT POINT) NAME) (SETQ NAME# (VLA-ADD (VLA-GET-BLOCKS DOC) (VLAX-3D-POINT POINT) NAME)) ((LAMBDA ( ) (VLA-COPYOBJECTS DOC )) (SETQ NAME# (VLA-ADD (VLA-GET-BLOCKS DOC) (VLAX-3D-POINT POINT) NAME)) (VLAX-SAFEARRAY-FILL (VLAX-MAKE-SAFEARRAY VLAX-VBOBJECT (CONS 0 (1- (LENGTH SS#)))) SS#)) (KR:BLK_MAKEBLOCKVLA (TRANS BP 1 0) "*U" (SETQ SS# (KR:SSX_SS->VLA SS)) (KR:ACX_ADOC)) (SETQ BN# (KR:BLK_MAKEBLOCKVLA (TRANS BP 1 0) "*U" (SETQ SS# (KR:SSX_SS->VLA SS)) (KR:ACX_ADOC))) (PROGN (SETQ ZD (TRANS (QUOTE (0 0 1)) 1 0 T)) (SETQ BN# (KR:BLK_MAKEBLOCKVLA (TRANS BP 1 0) "*U" (SETQ SS# (KR:SSX_SS->VLA SS)) (KR:ACX_ADOC))) (FOREACH S# (VLA-DELETE )) (KR:BLK_INSERTBLOCKVLA (TRANS BP 1 0) (SETQ BN (KR:BLK_GETBLOCKNAME BN#)) 1 1 1 0) (PRINC (STRCAT "\n>> Anonymous block " BN " created. <<"))) (IF (SETQ SS (SSGET)) (PROGN (SETQ ZD (TRANS (QUOTE (0 0 1)) 1 0 T)) (SETQ BN# (KR:BLK_MAKEBLOCKVLA (TRANS BP 1 0) "*U" (SETQ SS# (KR:SSX_SS->VLA SS)) (KR:ACX_ADOC))) (FOREACH S# (VLA-DELETE )) (KR:BLK_INSERTBLOCKVLA (TRANS BP 1 0) (SETQ BN (KR:BLK_GETBLOCKNAME BN#)) 1 1 1 0) (PRINC (STRCAT "\n>> Anonymous block " BN " created. <<"))) (PRINC "\n** Nothing selected **")) (PROGN (PRINC "\nSelect object to convert to block: ") (IF (SETQ SS (SSGET)) (PROGN (SETQ ZD (TRANS (QUOTE (0 0 1)) 1 0 T)) (SETQ BN# (KR:BLK_MAKEBLOCKVLA (TRANS BP 1 0) "*U" (SETQ SS# (KR:SSX_SS->VLA SS)) (KR:ACX_ADOC))) (FOREACH S# (VLA-DELETE )) (KR:BLK_INSERTBLOCKVLA (TRANS BP 1 0) (SETQ BN (KR:BLK_GETBLOCKNAME BN#)) 1 1 1 0) (PRINC (STRCAT "\n>> Anonymous block " BN " created. <<"))) (PRINC "\n** Nothing selected **"))) (IF (SETQ BP (GETPOINT "\nSelect insertion point for block: ")) (PROGN (PRINC "\nSelect object to convert to block: ") (IF (SETQ SS (SSGET)) (PROGN (SETQ ZD (TRANS (QUOTE (0 0 1)) 1 0 T)) (SETQ BN# (KR:BLK_MAKEBLOCKVLA (TRANS BP 1 0) "*U" (SETQ SS# (KR:SSX_SS->VLA SS)) (KR:ACX_ADOC))) (FOREACH S# (VLA-DELETE )) (KR:BLK_INSERTBLOCKVLA (TRANS BP 1 0) (SETQ BN (KR:BLK_GETBLOCKNAME BN#)) 1 1 1 0) (PRINC (STRCAT "\n>> Anonymous block " BN " created. <<"))) (PRINC "\n** Nothing selected **"))) (PRINC "\n** Invalid point **")) (C:MAB) 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ą.