Jump to content
isobitis

Spedire File Senza Xref

Recommended Posts

Ciao a tutti, nn ho avuto modo di convincere colleghi e collaboratori esterni ad utilizzare gli xref nei disegni. O meglio, li utilizziamo, ma nn li possiamo spedire agli altri studi (nn chiedetemi il perché)

Sapete se esiste una lisp per fare un bind automatico di tutti gli xref contenuti nel disegno?

vorrei fare una macro collegando questa lisp (se esiste) con salva con nome, in modo da inserirla in tutti i computer dei colleghi. Si lamentano del fatto che nn sanno mai se il file contiene o meno degli xref.

Grazie

Share this post


Link to post
Share on other sites

ho trovato questa lisp che fa quello che ho chiesto, solo che quando fa bind, nn usa l'opzione insert (quella che mi serve), ma bind, inserendo tutti i layer preceduti da $.

ho visto che se lancio -xref e scelgo B di bind nn mi viene offerta la possibilità di utilizzare alcuna opzione, agendo direttamente con l'opzione "bind" (del comando Bind). Sapete se esiste una variabile di sistema da richiamare?

(defun c:bind (/ dp dn cd Outgoingpath datepath newpath savepath *blks* ref xname)

  (vl-load-com)

  (setvar "cmdecho" 1)

  (setvar "filedia" 0)

  (setq dp (getvar "dwgprefix"))

  (setq dn (vl-filename-base (getvar "dwgname")))

  (setq cd (strcat (getvar "dwgprefix") (getvar "dwgname")))

  (setq Outgoingpath (strcat (getvar "dwgprefix") "Outgoing\\"))

  (vl-mkdir Outgoingpath)

  (setq

	datepath (strcat (menucmd "M=$(edtime,$(getvar,date),YYMODD)")

			 "\\"

		 )

  )

  (setq newpath (strcat outgoingpath datepath))

  (vl-mkdir newpath)

  (setq savepath (strcat newpath dn))

  (command "save" savepath "")

  (command "open" savepath "")

  (command "-layer" "Unlock" "*" "")

  (setq *blks*

	(vla-get-Blocks

	  (vla-get-ActiveDocument

		(vlax-get-acad-object)

	)

	 )

  )

  (vlax-for item *blks*

  (if (eq (vla-get-IsXref item) :vlax-true)

	(progn

	  (setq ref (tblsearch "BLOCK" (setq xname (vla-get-Name item))))	  

	  (if (eq (logand (cdr (assoc 70 ref)) 32) 32)

	(command "-xref" "_B" xname)

	(command "-xref" "_D" xname)

		)	

	  )

	)

  )

  (princ "...ALL XREF'S BOUND & ALL UNREFERENCED XREF'S REMOVED...")

  (setvar "tilemode" 0)

  (command "zoom" "extents")

  (command "-layer" "lock" "*" "")

  (command "purge" "a" "*" "n")

  (command "audit" "y")

  (setvar "filedia" 1)


)

Share this post


Link to post
Share on other sites
scusa, e come faccio a dirgli quale xref?

grazie

qui hai parlato di tutti

Sapete se esiste una lisp per fare un bind automatico di tutti gli xref contenuti nel disegno?

inoltre, mi servirebbe l'opzione "insert" nn "bind", che n mi viene data dal comando -xref

grazie

infatti li ritrovi tutti inseriti come blocchi


Edited by arri

Share this post


Link to post
Share on other sites

arri, c'è un modo per interrompere una macro per immettere INPUT da testiera e poi una volta immessi, la macro riprende.

ti ricordi quale codice bisogna inserire?

grazie

Share this post


Link to post
Share on other sites
arri, c'è un modo per interrompere una macro per immettere INPUT da testiera e poi una volta immessi, la macro riprende.

ti ricordi quale codice bisogna inserire?

grazie

la barra \

edit: in ritardo :)

vedi anche qui


Edited by arri

Share this post


Link to post
Share on other sites

grazie, dovrebbe essere quello, però se uso

^C^C_bindtype;1;_-xref;_b;*;_-layer;t;0;_s;0;;_z;_e;_-purge;_a;;_n;_saveas;/;_close;

dopo il save as nn mi apre l'interfaccia per consentirmi di scrivere, ma questo

Command: _saveas

Current file format: AutoCAD 2004(LT 20004) Drawing

Enter file format

[R14(LT98&LT97)/2000(LT2000)/2004(LT2004)/2007(LT2007)/Standards/DXF/Template]

<2007>: /

interpretando / come un valore e quindi si ferma tutto

:(

Share this post


Link to post
Share on other sites
grazie, dovrebbe essere quello, però se uso

^C^C_bindtype;1;_-xref;_b;*;_-layer;t;0;_s;0;;_z;_e;_-purge;_a;;_n;_saveas;/;_close;

dopo il save as nn mi apre l'interfaccia per consentirmi di scrivere, ma questo

Command: _saveas

Current file format: AutoCAD 2004(LT 20004) Drawing

Enter file format

[R14(LT98&LT97)/2000(LT2000)/2004(LT2004)/2007(LT2007)/Standards/DXF/Template]

<2007>: /

interpretando / come un valore e quindi si ferma tutto

:(

normale,

è uno dei casi dove la macro si interrompe

Share this post


Link to post
Share on other sites
cioé vuoi dire che con salva nn posso utilizzare il simbolo "/"?

hai messo la barra sbagliata,

devi usare quella vicino al tasto ESC

prova così:

^C^C_bindtype;1;_-xref;_b;*;_-layer;t;0;_s;0;;_z;_e;_-purge;_a;;_n;_saveas;;\_close;


Edited by arri

Share this post


Link to post
Share on other sites

Salve a tutti ho trovato questa "macro" moooolto interessante ^C^C_-XREF;_B;*; che ho leggergemnte ritoccato aggiungendo ^C^C_-XREF U * SALVAVEL CHIUDI c'è qualcuno se da dirmi se posso mandarla in loop? cioè vorrei che funzoinasse su tutti i disegni che ho aperti in quel momento.

grazie

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...