| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Block und text einfügen (2119 mal gelesen)
|
Garry Mitglied Techniker/Konstrukteur
Beiträge: 684 Registriert: 05.03.2003
|
erstellt am: 22. Nov. 2006 07:17 <-- editieren / zitieren --> Unities abgeben:
Hallo, Bin neu in der lisp Sprache, habe zuvor nur mit AutoCad LT Diesel gearbeitet, und habe folgende Frage ich lade über ein test.lsp einen Block (command "._insert" "E:\\Programme\\Bricscad\\test.dwg" 0 0 0 0) soweit so gut. Hier möchte ich aber die Daten wo ich vorher über ein Script mit angehängt habe jetzt mit in die Lisp Routine mit einbringen, wenn möglich. Damit ich keine Scripts mehr brauche Beispiel ***POP70 [<-Name …]^C^Ctilemode;1;_-layer;_set;Auto;;^C^C_-insert;block.dwg;0,0;1;1;0;script;script-01; Jetzt meine Frage, Kann ich in diesem Lisp (command "._insert" "E:\\Programme\\Bricscad\\test.dwg" 0 0 0 0) dies Daten mit anhängen, das wenn die test.dwg geladen ist der Text auch gleich mitgeschrieben wird an die Besagten stellen. Siehe unten. _text 3010.4473,15.3124 48 0 Vorname _text 3010.4473,113.1005 48 0 Nachnahme ich danke für eure Hilfe
------------------ Garry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 22. Nov. 2006 08:04 <-- editieren / zitieren --> Unities abgeben: Nur für Garry
|
Garry Mitglied Techniker/Konstrukteur
Beiträge: 684 Registriert: 05.03.2003
|
erstellt am: 22. Nov. 2006 08:24 <-- editieren / zitieren --> Unities abgeben:
Also wenn ich dich richtig verstanden habe könnte ich es so machen. (command "._insert" "E:\\Programme\\Bricscad\\test.dwg" 0 0 0 0) (COMMAND "_text" "3010.4473,15.3124" 48 0 "Vorname") (COMMAND "_text" "3010.4473,113.1005" 48 0 "Nachnahme")
Stimmt das ------------------ Garry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 22. Nov. 2006 09:46 <-- editieren / zitieren --> Unities abgeben: Nur für Garry
Zitat: Original erstellt von Garry: Also wenn ich dich richtig verstanden habe könnte ich es so machen...
Jau, das könntest Du. Du könntest es aber auch so machen: Code:
(defun C:MYINSERT () (command "._insert" "E:\\Programme\\Bricscad\\test.dwg" 0 0 0 0 ) (command "_text" "3010.4473,15.3124" 48 0 "Vorname") (command "_text" "3010.4473,113.1005" 48 0 "Nachnahme") (princ "\nFertig!") (princ) ) ;; oder (defun MYINSERT2 (FULLPATHBLOCKNAME TEXTWERTVORNAME TEXTWERTNACHNAME) (command "._insert" FULLPATHBLOCKNAME 0 0 0 0 ) (command "_text" "3010.4473,15.3124" 48 0 TEXTWERTVORNAME) (command "_text" "3010.4473,113.1005" 48 0 TEXTWERTNACHNAME) (princ "\nFertig!") (princ) ) ;; Aufruf dann mit: (MYINSERT2 "E:\\Programme\\Bricscad\\test.dwg" "Vorname" "Nachname") ;; Oder kombinierte Variante mit spezifischem Befehl der die allgemeine Einfügefunktion ;; benutzt: (defun C:MYINSERT3 () (MYINSERT2 "E:\\Programme\\Bricscad\\test.dwg" "Vorname" "Nachname" ) (princ) )
Da gibt es also 'ne Menge Möglichkeiten. Du solltest Dir bei command Programming auf jeden Fall auch in der Lisp Hilfe mal die Funktion vl-cmdf anschauen. Oder auch vl-catch-all-apply. Auf jeden Fall solltest Du dir aber noch mal die Argumente anschauen mit denen Du Deine commands fütterst: Zumindest bei mir geht (command "._insert" "IRGENDEINBLOCK" 0 0 0 0) nicht. Der Blockskalierfaktor kann nicht Null sein. Die anderen commands habe ich NICHT geprüft...------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Garry Mitglied Techniker/Konstrukteur
Beiträge: 684 Registriert: 05.03.2003
|
erstellt am: 22. Nov. 2006 09:58 <-- editieren / zitieren --> Unities abgeben:
Hui Danke, also das mit dem 0 0 0 0 klappt bei mir einwandfrei, jetzt noch eine Frage. Da ich ja verschiedene Blöcke so einfüge aber der vorname nachnahme bei allen blöcken immer gleich ist kann man dies auch in 2 lisp´s machen damit ich nur einmal den vornamen und nachnahmen schreiben muss, und diese Datei immer bei verschiedenen Blöcke lade. ------------------ Garry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 22. Nov. 2006 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für Garry
Zitat: Original erstellt von Garry: Da ich ja verschiedene Blöcke so einfüge aber der vorname nachnahme bei allen blöcken immer gleich ist kann man dies auch in 2 lisp´s machen damit ich nur einmal den vornamen und nachnahmen schreiben muss, und diese Datei immer bei verschiedenen Blöcke lade.
Erst nachdenken, dann posten! ;-) Wenn Du mal den Sinn der Funktion "MYINSERT2" hinterfragt hättest, wüßtest Du das man diese Funktion natürlich mit variablen Werten füttern kann... Code:
(MYINSERT2 "E:\\Programme\\Bricscad\\test.dwg" "Vorname" "Nachname") ;; oder (MYINSERT2 "X:\\Denk\\mal\\nach.dwg" "Vorname" "Nachname") ;; oder (MYINSERT2 (findfile "catchmeifyoucan.dwg")"Vorname" "Nachname")
Null Problemo...
------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Garry Mitglied Techniker/Konstrukteur
Beiträge: 684 Registriert: 05.03.2003
|
erstellt am: 22. Nov. 2006 13:34 <-- editieren / zitieren --> Unities abgeben:
Ok Sorry, hast ja recht ich werde es erst mal Testen, damit ich weiss wie was Funktioniert, bevor ich wieder Losschreibe. Auch Nachlesen was die einzelnen Befehle bedeuten. Trotzdem danke ------------------ Garry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 18.1, LibreOffice 5+
|
erstellt am: 22. Nov. 2006 13:47 <-- editieren / zitieren --> Unities abgeben: Nur für Garry
|