63
6297
6283
后起之秀
使用道具 举报
18
1529
973
中流砥柱
(vl-load-com);;; Command Reactor for Xref/Attachment layer and UCS.(if (not *MyXr-react*) (setq *MyXr-react* (vlr-command-reactor nil '( (:vlr-commandwillstart . MyXr-CB-Start) ; CB=callback. (:vlr-commandended . MyXr-CB-End) (:vlr-commandcancelled . MyXr-CB-End) ) ) ))(defun MyXr-CB-Start (rea lst / doc layNme ucsNme) (if (vl-position (car lst) '( "ATTACH" "XATTACH" "DWFATTACH" "IMAGEATTACH" "PDFATTACH" "POINTCLOUDATTACH" "COORDINATIONMODELATTACH" ) ) (progn (setq doc (vlr-document rea)) (setq layNme (MyXr-ChangeLayer doc (car lst))) (setq ucsNme (MyXr-ChangeUcs doc)) (vlr-data-set rea (list layNme ucsNme)) ) (vlr-data-set rea nil) ))(defun MyXr-CB-End (rea lst) (if (print (vlr-data rea)) (progn (vla-sendcommand (vlr-document rea) (strcat "(MyXr-Restore " (vl-prin1-to-string (car (vlr-data rea))) ; Layer name. " " (vl-prin1-to-string (cadr (vlr-data rea))) ; UCS name. ") " ) ) (vlr-data-set rea nil) ) )); Returns old layer name.(defun MyXr-ChangeLayer (doc cmd / layNew layOld) (setq layNew (cond ((= cmd "ATTACH") "XREF") ((vl-position cmd '("XATTACH" "DWFATTACH")) "XREF-DWG") ((= cmd "IMAGEATTACH") "XREF-IMAGE") ((= cmd "PDFATTACH") "XREF-PDF") ((= cmd "POINTCLOUDATTACH") "XREF-POINTCLOUD") ((= cmd "COORDINATIONMODELATTACH") "XREF-COORDINATIONMODEL") ) ) (vla-put-lock (vla-add (vla-get-layers doc) layNew) :vlax-true) (setq layOld (getvar 'clayer)) (setvar 'clayer layNew) layOld); Returns "WCS" (UCS has been changed to 'World') or "".(defun MyXr-ChangeUcs (doc / reply) (cond ((= 1 (getvar 'worlducs)) "" ) ( (/= 6 (setq reply (acet-ui-message "Het huidige UCS is niet 'World'\nUCS aanpassen naar 'World'?" "UCS SYSTEM" (+ acet:yesno acet:iconquestion) ) ) ) "" ) (T (vla-put-activeucs doc (vla-add (vla-get-usercoordinatesystems doc) (vlax-3d-point '(0.0 0.0 0.0)) (vlax-3d-point '(1.0 0.0 0.0)) (vlax-3d-point '(0.0 1.0 0.0)) "WCS" ) ) "WCS" ) ))(defun MyXr-Restore (layNme ucsNme / enm) (setvar 'clayer layNme) (if (/= "" ucsNme) (progn (setvar 'cmdecho 0) (command "_.ucs" "_previous")