| |
 | 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: Eingabe eines Punktes per Lisp (1918 mal gelesen)
|
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 14. Jan. 2004 09:07 <-- editieren / zitieren --> Unities abgeben:         
Halllo Lispler, ACad Mechanical 2004; befinde mich gerade in den Vorbereitungen einer Datenmigration. Da das Migrationstool von AutoDesk für uns nicht brauchbar ist (lange Geschichte ...), möchte ich die Dateien per Lisp bzw. Skript migrieren (Aufruf einiger Befehle und am Ende Speichern). Folgendes Problem: Ich rufe den Befehl AMCVTFRAME12 auf. ACad erwartet jetzt, dass ein "Rahmenblock" ausgewählt wird, und zwar per Mausklick. Kann ich diesem Befehl irgendwie statt per Mausklick mein Objekt per Lisp mitgeben? Indem ich z.B. den Objektnamen mit SSGET etc. suche? Ich hab's mit SSGET schon probiert, wenn ich aber dann die Variable (die den Objektnamen enthält, z.B: <Objektname: 7ed35b80> ) in die Eingabeaufforderung eingebe, erhalte ich folgende Meldung: "*Ungültige Auswahl*. Erwartet einen Punkt oder Letztes". Mit bestem Dank im Voraus, WolfgangE
------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 14. Jan. 2004 09:13 <-- editieren / zitieren --> Unities abgeben:          Nur für WolfgangE
Hallo Wolfgang, dann versuche doch mal den Rahmen als Auswahlsatz an die Funktion zu geben, oder in Form einer Liste, wie diese von (entsel) zurück gegeben wird. Vielleicht funzt das ja. Wenn nicht, ich habe im Moment kein Mechanical zur Hand, ich kanns dann erst heute abend testen. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marvin101010 Mitglied ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)
  
 Beiträge: 562 Registriert: 22.01.2003 Pentium 4 Windows XP Autocad 2002 Autocad 2002LT + Extender ADT 3.3 ArchiCAD
|
erstellt am: 14. Jan. 2004 09:13 <-- editieren / zitieren --> Unities abgeben:          Nur für WolfgangE
ich würde über GC 5 auswählen... (5 . "94CE") bleibt mir eine frage...woher bekommst du den ohne das element irgendwann zu wählen? objektnamen ändern sich mit jedem neuen öffnen der datei (glaub ich)  ------------------ ...so long and thanx for all the fish! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 14. Jan. 2004 09:34 <-- editieren / zitieren --> Unities abgeben:         
Hallo Holger, hallo Marvin, danke erstmal für die schnelle Antwort. Das mit dem Auswahlsatz scheint nicht zu funktionieren, auch DC 5 mag er nicht. @Brischke: Mein Element hole mich mir mit (SSGET "X" '((0 . "INSERT") (2 . "name")) wobei mir "name" bekannt ist. Das so gefundene Objekt möchte ich eben an AMCVTFRAME12 übergeben. Bin aber mittlerweile schon einen Schritt weiter. Der Befehl kann auch mit Koordinaten gefüttert werden, also z.B. 0,0 Ich kann mir also über (ASSOC 10 (ENTGET ...)) die Koordinaten rausholen und diese übergeben. Leider nur theoretisch, sobald ich nämlich wieder meine Variable als Punkt eingebe, ist das eine ungültige Eingabe. Auch wenn ich meine Koordinaten mit (SETQ PT1 "0,0") definiere und PT1 dem Befehl übergebe, funktioniert das nicht. Danke und ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 14. Jan. 2004 09:40 <-- editieren / zitieren --> Unities abgeben:          Nur für WolfgangE
Hallo Wolfgang, du sollst eine Liste übergeben, so wie diese von (entsel) erzeugt wird. (list ename pt) Und du sollst nicht den Elementnamen übergeben sondern einen Auswahlsatz. (ssadd ename) Hast du das schon probiert? Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 14. Jan. 2004 09:45 <-- editieren / zitieren --> Unities abgeben:         
Hallo Brischke, hab's wie folgt probiert: Hab' mit (ENTSEL) mein Objekt ausgewählt. Das Ergebnis hab' ich dann übergeben. Der Übergabewert sieht konkret so aus: (<Objektname: 7e805b80> (19417.3 -822.964 0.0)) Ich glaube, das hast du gemeint, aber vielleicht hab' ich's noch nicht ganz verstanden, meine AutoLisp- und auch ACad-Kenntnisse halten sich nämlich stark in Grenzen. Danke und ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 14. Jan. 2004 09:49 <-- editieren / zitieren --> Unities abgeben:          Nur für WolfgangE
|
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 14. Jan. 2004 09:51 <-- editieren / zitieren --> Unities abgeben:         
Leider nein, nicht einmal dann, wenn ich den Wert (<Objektname: 7e805b80> (19417.3 -822.964 0.0)) direkt reinkopiere, also ohne Variable. ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 14. Jan. 2004 10:03 <-- editieren / zitieren --> Unities abgeben:         
Vielleicht nochmal ein ganz konkretes Beispiel bezüglich der Koordinaten-Eingabe: Die Varialbe BASE beinhaltet die Koordinaten aus der (ENTGET)-Definition. Die Koordinaten speichere ich nach X und Y (alles direkt an der Kommandozeile): Befehl: AMCVTFRAME12 Bitte Rahmenblock wählen: X,Y *Ungültige Auswahl* Erwartet einen Punkt oder Letztes
Bitte Rahmenblock wählen: *Abbruch* Befehl: (SETQ X (CAR BASE)) -1714.6
Befehl: (SETQ Y (CADR BASE)) -1703.23 ********************************* Jetzt Folgende Eingaben: Befehl: AMCVTFRAME12 Bitte Rahmenblock wählen: X,Y *Ungültige Auswahl* Erwartet einen Punkt oder Letztes
Bitte Rahmenblock wählen: *Abbruch* Befehl: AMCVTFRAME12 Bitte Rahmenblock wählen: -1714.6,-1703.23 Bitte Schriftfeld wählen: -1714.6,-1703.23 Maßstab <1:20>: Rahmen und Schriftfeld konvertiert in Power-Objekte ! ***************************************************** Der Befehl würde also funktionieren, nur werden die Variablen hier eben nicht ausgwertet. Dasselbe passiert eben, wenn ich statt der Koordinaten den Objektnamen über SSGET verwende. WolfgangE
------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axeld Mitglied Projektingenieur/CAD-Administrator
 
 Beiträge: 267 Registriert: 18.11.2002
|
erstellt am: 14. Jan. 2004 14:40 <-- editieren / zitieren --> Unities abgeben:          Nur für WolfgangE
Wolfgang, Wie wäre es, wenn du die Lispfunktion veränderst. amcvtframe12 findet sich in genbas0.lsp (ACADM\GEN). Das Unterprogramm genzvi12to13 findet sich in genzvi.lsp. Da kannst du sie dir nach Belieben verändern (natürlich erst in eine neue Datei kopieren!). Hier mußt du das GENSSGET ersetzen. Auf diese Weise habe ich mir schon einige Programm verändert. ------------------ Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 14. Jan. 2004 16:18 <-- editieren / zitieren --> Unities abgeben:         
Hallo Axel, der Vorschlag ist wirklich gut. Hab's gleich ausprobiert. Funktioniert! Danke und ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arpi Mitglied

 Beiträge: 79 Registriert: 19.04.2002
|
erstellt am: 18. Mrz. 2005 09:18 <-- editieren / zitieren --> Unities abgeben:          Nur für WolfgangE
Moin, jetzt bin ich auch in der Situation, den Befehl im Batch zu nutzen. Kann mir jemand sagen, wie ich die Liste der Blocknamen an die Funktion übergeben kann, also was muss ich für GENSSGET einsetzen? Danke ------------------ Tata Rainer Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt! www.fla-nell.de kindermöbel & accessoires Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 18. Mrz. 2005 12:42 <-- editieren / zitieren --> Unities abgeben:         
Puuuuhhhh, lang ist's her ... ich hab's damals so gemacht wie von axel beschrieben. Hab die Original-Funktion amcvtframe12 kopiert und sie mir ein bisschen umgeschrieben und die dann stattdessen aufgerufen. Hab dir mal die geänderte Funktion hier gepostet, die Änderungen zum Original sind jeweils kommentiert. Achte aber drauf dass das schon wieder eine ältere Version ist: AcadM2004. Der Blockname wird in diesem Fall als Parameter übergeben, die Routine ist dann so umgebaut, dass der Parameter entsprechend verwendet wird. Ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arpi Mitglied

 Beiträge: 79 Registriert: 19.04.2002
|
erstellt am: 22. Mrz. 2005 09:41 <-- editieren / zitieren --> Unities abgeben:          Nur für WolfgangE
Guten Tag, erst einmal Danke für deine Beispieldatei. Ich habe da jetzt noch andere Änderungen dran vorgenommen und zwar ermittle ich die vorhandenen Rahmen und Schriftfelder automatisch und weise diese den Variablen BORDER und TITLE zu; das funktioniert auch alles soweit bis auf Zeichnungen, wo mehr als ein (1) Layout vorhanden sind (AutoCAD Mechanikal 2002). Nachfolgend die Programmzusätze; wo könnte der Fehler liegen, dass die Funktion nil bei mehreren Layouts zurückgibt? Code:
(defun testblo1 () ;Test, ob Block "DIN_A4",...existiert; evt. zusätzliche Zeilen einfügen! ;Der entsprechende Elementname (en) wird zurückgeliefert und kann von entget verwendet werden (setq enTIT (cond ((tblobjname "block" "01TITLE") (tblobjname "block" "01TITLE")) ((tblobjname "block" "23TITLE") (tblobjname "block" "23TITLE")) (t nil) ) ) (setq enBOR (cond ((tblobjname "block" "VA4") (tblobjname "block" "VA4")) ((tblobjname "block" "VA3") (tblobjname "block" "VA3")) ((tblobjname "block" "VA2") (tblobjname "block" "VA2")) ((tblobjname "block" "VA1") (tblobjname "block" "VA1")) ((tblobjname "block" "VA0") (tblobjname "block" "VA0")) (t nil) ) ) ) (defun c:rp1 ( / title border scale next entli ent enb unchg ss ssobj obj pins ll ru dum result anzra anztit boxt boxb ) (testblo1)
(if (/= nil enTIT) (progn (setq edTIT (entget enTIT)) (setq title (cdr (assoc 2 edTIT))) (princ title) (terpri) ); END progn ); end if (if (/= nil enBOR) (progn (setq edBOR (entget enBOR)) (setq border (cdr (assoc 2 edBOR))) (princ border) (terpri) ); END progn ); end if . . . . .snip
------------------ Tata Rainer Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt! www.fla-nell.de kindermöbel & accessoires Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |