당신은 알고, 사람, 나는 진화에 대해 당신을 보여줄 것입니다.
많은 테이블이있는 단일 파일에서 습관 / 불편 작업 (마지막 사람이 46), 각 테이블에 대한 레이아웃을 만드는.
이것은 물었을 때, 나는 출판에 의해 모든 도면을 몰아, 매우 빨리 그리고 내가 모든 의존 테이블을 업데이트하는 훨씬 쉽게 어딘가로 변경하기 때문에.
일부 고객이 46 테이블과 파일을 원하지 않기 때문에, 1 테이블에서 46 파일, 나는 그것의 constituent 레이아웃의 파일을 수출하는 데 필요한.
layoutexport, 레이아웃을 수출하지만, 모델 공간에서만 (당신은 레이아웃을 잃습니다) 그리고 특히 레이아웃에 설정 표시 세트로 내보내기 (당신이 배치에서 설정 한 경우 "representing print styles" 당신은 검은 색과 흰색 모델을 찾을 수 있습니다.
그리고 위의 모든 그것은 단일 레이아웃.
나는 layoutexport 다중 인 다른 lisp (type lxa)를 시도했지만 exportlayout (obviously)의 동일한 문제에서 고통
나는 layoutstodwgs를 시도하지만, 케이스, 나는 전체 모델을 복제, 그래서 13mbyte 파일은 나에게 46 13mbyte 파일이되었다
그리고 내가 그것을 썼다, gp의 도움 (큰 마스터)과 rpor66 (다른 짐승의 lisp).
그것은 조금 거친, 약간 과실 통제입니다, 그러나 당신이 필요로 하는 무엇을
각 레이아웃을 별도의 파일로 내보내기, 레이아웃 창에 포함 된 유일한 엔티티티를 유지하고, 종이 공간에서 관련된 엔티티티를 포함한 레이아웃 자체.
Code:
(defun reset_var()
(setq 레이아웃 nil ad nil layfol nil oldrgnmode nil layoutnumber nil count nil)
(setq vp nil flay nil p1 nil p2 nil p3 nil p4 nil p5 nil p6 nil p7 nil p8 nil)
(setq target_vp nil oldosmode nil todel nil count1 nil layname nil file_name nil)에 대한
(setq pspace_ent nil oldmaxvp nil old_thumb nil)의 경우
·
;;;; subfolder "layouts"에 별도의 파일에 모든 레이아웃을 수출
;;; 각 파일에 대 한 모델 엔티티티티 및 레이아웃을 유지 (관계 용지 공간에)
;;; 배치는 1개의 단 하나 vieport가, 배치가 다수 viewport, probram 틈이 있는 경우에 있어야 합니다.
;;; 탱크 gp와 rpor66의 cad3d.it 내 처리량을 해결
(defun c:layexport9 ()
(vl 로드-com)
(setq oldmaxvp (getvar "maxactvp")))
(setq old_thumb (getvar "updatethumbnail")))
(setvar "clayout""모델")
(setq 레이아웃 (layoutlist))
(setq 레이아웃 (acad_strlsort 레이아웃))
(setq 광고 (getvar "dwgprefix"))
(setq layfol (strcat 광고 "레이아웃"))
(findfile layfol의 경우)
(진료)
(alert "\n la directory di output e' gia' esistente
\nla procedura potrebbe sovrascrivere 파일 giã esistenti
이 produrre risultati inaspettati.
\nil programma sara' terminato e tutte le variabili saranno azzerate")
(reset_var) (으)로
(필수)
·
·
(vl-mkdir layfol)의
(setq 이전 무시 모드 (getvar "regenmode")))
(setvar "regenmode") 0)
(setq layoutnumber (길이 레이아웃))
(setq 조사 0)
(setq pspace_ent (문자 "x" '(67 . 1))))))
(각각 레이아웃 레이아웃
(setvar "maxactvp") 2) 명세
(setvar "updatethumbnail" 0)
(setq 레이아웃)
(setq vp (ssget "x" (리스트 0 "viewport"))))))
(이 경우 (> (sslength vp) 2) 명세
(진료)
(setq vpnumerr (strcat "nel layou " layout "ci sono piu' di una viewport) (설정)
\nil programma potrebbe fornire risultati inaspettati e sara' terminato.
\nricordarsi di eliminare 라 디렉토리 giã creata altrimenti la procedura fallirã nuovamente."))
(리뷰 VPNumerr)
(reset_var) (으)로
(필수)
·
·
(setvar "clayout" layout);;<----- cambia il layout rendendo corrente quello 에 참
;;;;****inizio 인덱스 사이트맵
(setq flay (vlax-ename->vla-object (이름 vp 0)))))
(vla-getboundingbox flay 'p1 * 'p2*)
(setq p1 (vlax-safearray->list p1 *))
(setq p2 (vlax-safearray->list p2*))
(setq p3 (리스트 (자동차 p1) (캐스터 p1)))
(setq p4 (리스트 (자동차 p2) (캐스터 p2))
(setq p5 (변환 p1 3 2))
(setq p6 (변환 p2 3 2))
;;<------- inizio suggerimento rpor는
;;;; somma il valore di 대상 alle 좌표 viewport
(if (assoc '17 (문자명 vp 0)))
;;se esiste il valore di 대상
(진료)
(setq target_vp (cdr (assoc '17 (문자 vp 0))))))))
(setq p7 (list (+ (nth 0 p5) (nth 0 target_vp)) (+ (nth 1 p5) (nth 1 target_vp)) 0.00 )
(setq p8 (list (+ (nth 0 p6) (nth 0 target_vp)) (+ (nth 1 p6) (nth 1 target_vp)) 0.00 )
);;<--------chiusura progn
);;<--------se esiste gruppo 17 nell'entita 전망port
(setvar "clayout""모델")
;;;;;**** 좋은 codice gp***********
(setq 이전 모드 (getvar "osmode")))
(setvar "osmode") 0)
(command "_.select" "_crossing" p7 "")
(command "._undo" "_begin")
(command "_erase" "_all" "_remove" "_previous" "_remove" pspace_ent "")
(세트 1 -1)
(repeat 레이아웃 번호
(setq 카운트1 (+ count1 1))
(setq layname (nth count1 레이아웃)
( if (/= layname layout) (command "_layout" "_delete" layname));;<chiusura if
);;<- chiusura 반복
(command "._undo" "_end")
(setq file_name (strcat layfol "\" 레이아웃))
( "-purge" "_all" "_no")
( "-purge" "_all" "_no")
(setvar "maxactvp" oldmaxvp)
(setvar "updatethumbnail"이전_엄지)
(command "_saveas" "파일_이름)
(command "_undo" "_back" "_y")
(setvar "clayout""모델")
( "_erase" "_crossing" p7 "")
( "-purge" "_all" "_no")
(setq 조사 (+ 조사 1))
);;;<--> chiusura foreach 레이아웃
(setvar "regenmode"이전)
);;<-------chiusura defun
(alert "\n estrae tutti i layout di un dwg in file separati in una sottocartella layouts 델 dwg.
\nfunziona con layout che abbiano una sola viewport, ed esporta, ogni layout, sia la parte modello che il relativo layout con le entita' appartenenti al paper space di quel layout.
\n\nusare layexport9 lanciare 당")
내가 아직도 해결해야 유일한 부분은 물리적으로 외부 참조 (xrif 및 이미지) 폴더에서 새로운 하위 폴더 "layouts"에 의존하므로 개별 레이아웃의 파일을 열 때 누락 된 참조 통지를 제공하지 않습니다.
나는 xref dwg 목록을 얻을 수 있습니다 :
Code:
;;; xref blocchi를 닫는 주사위
(setq *acad-object*) (vlax-get-acad-object)) (세트)
(setq *active-doc*) (vla-get-activedocument *acad-object*))를 설치하십시오.
(setq * 블록 * (vla-get-blocks *active-doc*))))
(vlax-for n * 블록 *
(eq (vla-get-isxref n) : vlax-true 경우)
(임시)
(setq pippo (vla-get-path n)))
(setq pippo (findfile pippo))를 설치하십시오.
·
·
·
;;; xref blocchi를 닫는 주사위
이미지 파일 이름:
Code:
;;; xref immagini를 짜는 codice
(defun imgfile ( / acad_image_dict )
(vl-catch-all-apply)에 대해
소다 ( )
(setq acad_image_dict)에 대해
(브라운)
(vla-get 사전
(vla-get-activedocument)에 대해
(vlax-get-acad-object)에 대 한
·
·
"acad_image_dict"를 클릭하십시오.
·
·
·
·
(setq lista (리스트)
(acad_image_dict 인 경우)
(vlax-for 항목 acad_image_dict
다운로드
(vl-princ-to-string)에 대 한
(주)
(아침 1
(문자)
(vlax-vla-object->이름 항목)
·
·
·
·
·
·
그러나 나는 autocad 포탄 가동에 붙어 있었습니다. 나는 20 년 동안 그들을 사용하지 않았다.
마스터의 또 다른 돌격? :