• このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

dxf の esportare ごとのコマンド

  • Thread starter Thread starter Hockrim
  • Start date Start date

Hockrim

Guest
salve a tutti. avrei bisogno di un chiarimento: ho creato 2 pulsanti contenenti 2 macro separate per esportare un file dwg in dxf versione 2004.
il primo pulsante contiene questa macro:

^c^cattdia;0;attreq;1;qsave;_dxfout;;v;2004;;(alert "esportazione effettuata con successo");

e si preme la solo la prima volta o se non esiste il file dxf con lo stesso nome del dwg.


il secondo pulsante contiene la macro:

^c^cattdia;0;attreq;1;-qsave;_dxfout;;si;v;2004;;(alert "esportazione effettuata con successo");

e si preme quando esiste il file dxf con lo stesso nome del dwg.

si può fare un comando lisp che esegue dxfout in dxf 2004 e verifichi se esiste o meno il file dxf nella stessa cartella del dwg e se esiste lo sovrascrive automaticamente mentre se non esiste lo crea?
oppure se si può, c'è la possibilità di unificare il comando in un pulsante solo, onde evitare che l'utente sbagli a premere pulsante e di conseguenza la macro non funziona correttamente?

grazie.
 
Last edited:
nella seconda riga di codice inserisci un nome di percorso valido per il tuo pc.
se alla richiesta del nome del dxf premi invio confermi quello che il programma ti propone.

Code:
(defun c:dxf  ()
    (setq percorso "d:\\pippo\\")
    (setq nomedis (getstring t (strcat "\nnome del file  <" (vl-filename-base (getvar 'dwgname)) ">: ") ) )
    (if (equal nomedis "") (setq nomedis (vl-filename-base (getvar 'dwgname))))
    (if (findfile (strcat percorso nomedis ".dxf"))
        (command "_saveas" "dxf" "v" "2004" "" (strcat percorso nomedis) "_y")
        (command "_saveas" "dxf" "v" "2004" "" (strcat percorso nomedis))
    )
    (princ)
)
 
grazie mille. ho provato, funziona, però a me servirebbe lo stesso con il comando dxfout e non saveas perché con quest'ultimo si chiude il dwg e apre il dxf, mentre a me serve che il dwg rimanga aperto.
 
sovrascrive sempre, chiaramente se il dxf non è aperto.

Code:
(defun c:dxf ()
    (command "dxfout" (strcat (getvar 'dwgprefix) (vl-filename-base (getvar 'dwgname))) "_v" "2004" "")
)
 

Forum statistics

Threads
46,674
Messages
380,976
Members
2
Latest member
loop80
このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Members online

No members online now.
Back
Top