Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  wblock name dxfout

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  wblock name dxfout (174 mal gelesen)
nebuCADnezzar
Mitglied



Sehen Sie sich das Profil von nebuCADnezzar an!   Senden Sie eine Private Message an nebuCADnezzar  Schreiben Sie einen Gästebucheintrag für nebuCADnezzar

Beiträge: 247
Registriert: 17.10.2007

AutoCAD 2019
Inventor 2019
64 bit Win 10
Intel I7 10610U 1.8 GHz
Quadro P520
32 GB Ram

erstellt am: 10. Okt. 2022 11:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen

So und alle Jahre wieder wenn ich mir was lispen will, stell ich fest dass ich voll eingerostet bin.

Da ich gefühlte 1000 wblöcke machen muss dacht ich mir dass lisple ich schnell damit ich die nicht von ahnd anschreiben muss (der Blockname steht immer schön dabei).

Hab hier auch was gefunden
[URL=https://forums.autodesk.com/t5/autocad-forum/wblock-lisp/m-p/5883848#M101636][/URL]

Dachte mir dass kann ich schnell umbauen auf "speichere als dxf"...
...bekomms aber nicht auf die reihe...

Hier mal die aktuelle Fehlermeldung:

Code:
Select Block name Text:
Pick Insertion Point:
Select objects: Specify opposite corner: 11 found
Select objects:
_-wblock Enter name of output file: C:\WorkSpace\Designs\.... Path does not exist: C:\WorkSpace\Designs....
Please verify the correct path was given.
Command: 16
Command: QWBLOCK
Unknown command "QWBLOCK".  Press F1 for help.
Command:
Command: <Selection set: 479>


Ich hab per "trieal and error" versucht den Fehler zu finden, aber der Zufall hat mir auch nicht geholfen.

Bin sicher die experten schauen eimal 2 Sekunden drauf, amüsieren sich und könne mir die fehlende Klammer oder was auch immer sagen :-)

Und hier der aktuelle code (wie gesagt hab da dran unprofessionell rumgebastelt und etliche Varianten durchgetestet  )

Code:
(defun c:qwblock (/ DIR ENTXT SS TXT PT TXT0)
  (setq Dir (getvar "DWGPREFIX"))
  (vl-cmdf "_undo" "be")
  (while (AND (vl-file-directory-p Dir)
      (setq enTxt (car(entsel "\nSelect Block name Text: ")))
      (wcmatch (cdr (assoc 0 (entget enTxt))) "*TEXT")
      (setq txt0 (cdr (assoc 1 (entget enTxt))))
      (not (findfile (setq txt (strcat Dir txt0))))
      (setq pt (getpoint "\nPick Insertion Point: "))
      (setq ss (ssget))
      )
    (progn
        (vl-cmdf "_-wblock" txt 16 "" pt ss "")
      (vl-cmdf "_undo" "back")
      )
    )
  (princ)
  )

Grüsse vom Bodensee

------------------
Es ist kein Zeichen geistiger Gesundheit, gut angepasst an eine zutiefst kranke Gesellschaft zu sein.

Jiddu Krishnamurti

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21298
Registriert: 03.06.2002

Alles

erstellt am: 10. Okt. 2022 12:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für nebuCADnezzar 10 Unities + Antwort hilfreich

Hi,

eigentlich kann der Code problemlos laufen, steht aber auf wackligen Knien.

Klickst du TEXT oder doch eher MText an?
Falls MText, schau dir den "(M)Text-Inhalt" genau an: (cdr(assoc 1 (entget(car(entsel)))))
oder teste einfach mal mit einem neuen TEXT mit dem Inhalt "12342" oder noch besser "1234.dxf",
denn du überlässt es aktuell dem Zufall ob wblock eine DXF oder DWG schreiben will.

 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nebuCADnezzar
Mitglied



Sehen Sie sich das Profil von nebuCADnezzar an!   Senden Sie eine Private Message an nebuCADnezzar  Schreiben Sie einen Gästebucheintrag für nebuCADnezzar

Beiträge: 247
Registriert: 17.10.2007

AutoCAD 2019
Inventor 2019
64 bit Win 10
Intel I7 10610U 1.8 GHz
Quadro P520
32 GB Ram

erstellt am: 10. Okt. 2022 12:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Haha! So ich hab nun mal einen von Hand gemacht und festgestellt dass im Text n "Enter" / "Zeilenumbruch" drinn ist und dass scheint er nich zu mögen...

Gibt es ne Möglichkeit den Zeilenumbruch raus zu nehmen?


Ich hatte mal die Zeile so angepasst (damit wäre das .dxf definiert nicht?)

Code:
(vl-cmdf "_-wblock" (strcat txt ".dxf") 16 "" pt ss "")

------------------
Es ist kein Zeichen geistiger Gesundheit, gut angepasst an eine zutiefst kranke Gesellschaft zu sein.

Jiddu Krishnamurti

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21298
Registriert: 03.06.2002

Alles

erstellt am: 10. Okt. 2022 14:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für nebuCADnezzar 10 Unities + Antwort hilfreich

>>"So ich hab nun mal einen von Hand gemacht und festgestellt dass im Text n "Enter" / "Zeilenumbruch" drinn ist"
Hatte ich also den richtigen Riecher 

>>" Gibt es ne Möglichkeit den Zeilenumbruch raus zu nehmen?"
Ob Zeilenumbruch oder ein A, B oder C, da gibt es kaum einen Unterschied und
man manipulieren wie man mag, dir stehen also alle Funktionen der String-Bearbeitung zur Verfügung.

>>(vl-cmdf "_-wblock" (strcat txt ".dxf") 16 "" pt ss "")
Gut!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21298
Registriert: 03.06.2002

Alles

erstellt am: 10. Okt. 2022 14:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für nebuCADnezzar 10 Unities + Antwort hilfreich

OFFtopic

>> (vl-cmdf "_undo" "back")
SO würde es nur in englischen Versionen laufen, dann könnte man sich auch alle Unterstriche vor den engl. Befehlen&Optionen sparen,
also wäre _back besser - weil lauffähig in allen Sprachversionen.

 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Konstrukteur (m/w/d) kontinuierliche Verbesserung und Serienbetreuung

Seit mehr als 90 Jahren steht die Marke Kramer in der Bau- und Landwirtschaft für technische Innovationen, Qualität und Tradition. Als Marktführer in Europa und Hersteller des weltweit ersten allradgelenkten Elektro-Radladers haben wir verstanden, wie wichtig zukunftsweisende Technologien sind. Unsere Kunden vertrauen dabei auf unsere Expertise und schätzen die Sicherheit, in eines der besten Produkte auf dem Markt zu investieren....

Anzeige ansehenKonstruktion, Visualisierung
nebuCADnezzar
Mitglied



Sehen Sie sich das Profil von nebuCADnezzar an!   Senden Sie eine Private Message an nebuCADnezzar  Schreiben Sie einen Gästebucheintrag für nebuCADnezzar

Beiträge: 247
Registriert: 17.10.2007

AutoCAD 2019
Inventor 2019
64 bit Win 10
Intel I7 10610U 1.8 GHz
Quadro P520
32 GB Ram

erstellt am: 11. Okt. 2022 15:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Naja so nun raucht mir der Kop 

N Teil habi hinbekommen, min zwei Teile nicht.

Ich bin zu doof zu kapieren wie ich den sch... Zeilenumbruch rausbekomme... (nach langem rumprobieren mit paar Zeilen die sonst irgendwo geklaut hab, hab ich festgestellt da stand zwar schön hat geklappt, aber bei mir funktioniert dass Ding im Orginal schon nicht...

und ich hab versucht die Auswahl ss gleich noch aufzulösen, dass hat aber auch noch nicht geklappt...

Vieleicht hast ja nochmal n Tipp 
Ich muss für heute aufgeben und morgen nochmal frisch reinschauen 


Code:
(defun c:qwblock (/ DIR ENTXT SS TXT PT TXT0 NEUTEXT L I OBJ)
  (setq Dir (getvar "DWGPREFIX")) ;hole Zeichnugnspfad
  (vl-cmdf "_undo" "be") ;starte "zurück"


  (command "_layer" "_off" "Isolator_omnia_18" "") ;schalte die nicht benötigten layer aus
  (command "_layer" "_off" "Nichtrostender Stahl 1.4301" "") ;schalte die nicht benötigten layer aus
  (command "_layer" "_on" "Isolator_omnia_block_20" "")
  (command "_layer" "_on" "Isolator_omnia_block_30" "")
  (command "_layer" "_on" "Isolator_omnia_block_50" "")
 
  (while (AND (vl-file-directory-p Dir)
      (while (AND (vl-file-directory-p Dir)
      (setq enTxt (car(entsel "\nSelect Block name Text: ")))
      (wcmatch (cdr (assoc 0 (entget enTxt))) "*TEXT")
      (setq txt0 (cdr (assoc 1 (entget enTxt))))
      (not (findfile (setq txt (strcat Dir txt0))))
; (setq neutext (vl-string-subst (chr 10) "\\P\\P" (cdr (assoc 304 txt)) ) )
; (setq txt (subst (cons 304 neutext) (assoc 304 txt) txt))
 
      (setq pt (getpoint "\nPick Insertion Point: ")) ;wähle Einfügepunkt
      (setq ss (ssget))
; (while(and(ss (ssget "_X" (list '(0 . "INSERT")(cons 410 (getvar "CTAB"))))) ;löse alle Blöcke auf
;             (>(setq L (sslength ss))0)
;         )
;     (setq I -1)
;     (repeat L
;       (setq OBJ(ssname ss(setq I (1+ I))))
;       (command "_explode" OBJ)         
;     ) 
;   )      

      )
    (progn
        (vl-cmdf "_-wblock" (strcat neutext ".dxf") 16 "" pt ss "")  ;expotiere als dxf 
      (vl-cmdf "_undo" "_back") ;bende "zurück" (Layer wieder on etc.,..)
      )
    )
  (princ)
)



------------------
Es ist kein Zeichen geistiger Gesundheit, gut angepasst an eine zutiefst kranke Gesellschaft zu sein.

Jiddu Krishnamurti

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2022 CAD.de | Impressum | Datenschutz