|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
autocart am 23.06.2009 um 02:01 Uhr (0)
Zitat:Original erstellt von Linus23:Hier die Lisp die an sich funktioniert:...Was hält ihr davon?Da du schon fragst...Du hast anscheinend den Code, den du vor einiger Zeit im Internet gefunden hast hergenommen und daran herumgeschustert. Dieser Code ist leider nicht gut - zumindest aus folgenden Gründen:1) Du versuchst ein Zeichnungselement, dessen ename in der Variablen att gespeichert sein muss, zu entmoden (also zu ändern). Der Variablen att ist aber nirgends ein Wert zugewiesen. Daher müsste the ...
|
| In das Form Lisp wechseln |
|
Lisp : Unterschiede ACAD08 und 09 bei lisp?
woppi am 23.06.2009 um 16:25 Uhr (0)
Hallo Stephan,ich glaube das ist der richtige Ansatz, habe mal ein paar Tests gemacht.Das würde auch erklären warum mehrer meiner kleinen LISP-Helferlein betroffen sind, und sich da sehr unterschiedlich verhalten.Hast Du, oder jemand anderes denn einen Tipp für mich wie ich den Ofang über Lisp an und ausschalten kann?Habe in der Word-Datei AcadLisp 14 nichts gefunden.Wollte aber gleich noch im Forum suchen.Damit bei ausgeschaltetem Ofang der richtige Endpunkt genommen wird benutze ich jetzt diese Zeile: (s ...
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
wronzky am 19.06.2009 um 19:37 Uhr (0)
Die Funktion kannst Du einfach ans Ende Deiner Lisp-Routine anhängen, und im Programm die entsprechende Zeile austauschen. Sollte dann so aussehen:Code:(defun c:PF (/ hElement hObjektID hcmdEcho hText hP1 HTH hW);;; VL-Befehle müssen geladen werden (vl-load-com);;; Systemvariablen werden gesichert (setq hcmdEcho (getvar "cmdecho")) (setvar "cmdecho" 0) (setvar "fieldeval" 31);;; Polylinie wird gewählt (if (setq hElement (entsel "
Raumpolygon wählen: ")) (progn (setq hElement (car hElement));;; Test, ob ...
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
Linus23 am 17.06.2009 um 19:07 Uhr (0)
Hallo an alle,Ich verwende seit längerem eine LISP Datei die ein Flächenschriftfeld einfügt, doch im neuen AutoCAD 2010 funktioniert die Lisp Datei nicht mehr, da sie die ObjektID für die Plinie nicht mehr findet. Ich habe sie Versucht umzuschreiben doch mit meinen leider sehr Bescheidenen AutoLisp Kenntnissen hab ich es leider nicht geschafft.Bitte kann mir jemand Helfen!?Hier ist die Lisp Datei die im AutoCAD 2010 die ID nicht mehr findet:(defun c:PF (/ hElement hObjektID hcmdEcho hText hP1 HTH hW);;; VL ...
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
runkelruebe am 17.06.2009 um 19:35 Uhr (0)
Hi,hmm, Dein Ausgangslisp funktioniert doch in ACAD2010. Also bei mir tut es das.Was heißt ACAD findet die ObjectID nicht? - Welcher Fehler wird ausgegeben? Genauer Wortlaut bitte.Kann es sein, dass es sich an (if (= (cdr (assoc 0 (entget hElement ))) "LWPOLYLINE") aufhängt? Der dazu (wenn z.B. PLINETYP = 0) gehörige Fehler wäre: Raumpolygon wählen:Es wurde keine Polylinie gewählt!Was hast Du für Polylinien? Typ?Schau Dir mal PLINETYPE (Vorgabe = 2 und so steht es bei mir) bzw. KONVERT dazu an.Nur mal so e ...
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
Linus23 am 18.06.2009 um 00:48 Uhr (0)
Es ist keine Fehlermeldung an sich er schreibt mir nur die Falsche ID hin obwohl die ID eigentlich eine ganz andere ist.So schaut es aus:%AcObjProp.16.2 Object(%\_ObjId 42%).Area f "%lu2%pr2%ps[,m²]%ds44%ct8[0.0001]%th46"%und so sollte es ja eigentlich ausschauen:%AcObjProp.16.2 Object(%\_ObjId 2130050936%).Area f "%lu2%pr2%ps[,m²]%ds44%ct8[0.0001]%th46"%Meine Theorie ist ja das es was mit VBA zu tun hat das nicht mehr in AutoCAD 2010 installiert ist.und bei meiner Änderung schreibt er nach dem die PLinie ...
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
runkelruebe am 18.06.2009 um 07:29 Uhr (0)
Moin, Zitat:Meine Theorie ist ja das es was mit VBA zu tun hat das nicht mehr in AutoCAD 2010 installiert ist.Sollte diese Theorie stimmen, dann kannst Du da was gegen tun:download der VBA-Module für 2010 bei AdeskFür Deine Theorie spricht: Ich habe das Visual Basic for Applications Module mit als erste Amtshandlung nach Erhalt der 2010 runtergeladen und installiert. Vielleicht ist das der Unterschied zwischen unseren Systemen, denn wie erwähnt: Bei mir funktioniert es. ------------------Gruß,runkelruebe ...
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
Linus23 am 18.06.2009 um 18:09 Uhr (0)
Also das VBA ist es nicht. Hab es versucht, ging nicht und PLINETYPE steht aus 2.Also ist es wahrscheinlich mein Betriebssystem, Vista 64 bit. Aber wie kann man die Lisp umschreiben das es auch funktionuiert?[Diese Nachricht wurde von Linus23 am 18. Jun. 2009 editiert.]
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
autocart am 18.06.2009 um 20:24 Uhr (0)
Hallo!Meine Vermutung ist, dass es mit der Area-Eigenschaft zusammenhängt.Die funkt manchmal nicht, soviel ich weiß.Aber was bedeutet der Text:(strcat "%AcObjProp.16.2 Object(%\_ObjID " (rtos hObjektID 2 0) "%).Area f "%lu2%pr2%ps[,m²]%ds44%ct8[0.0001]%th46%" )?Würde mich über Hilfe oder Erklärung freuen, danke.------------------Gruß, Stephanwww.stbartl.at"Every thing should be made as simple as possible but not simpler." - Albert Einstein
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
wronzky am 18.06.2009 um 20:41 Uhr (0)
Um das Problem mal einzukreisen:Was kommt den bei der Polylinie raus, wenn DuCode:(vla-get-objectid (vlax-ename-vla-object (car (entsel))))ausführst? 42?Grüsse, Henning------------------Henning JesseVoxelManufakturComputer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
Linus23 am 18.06.2009 um 23:53 Uhr (0)
Und genau da liegt das Problem, die ID ist 42, wenn man Zitat Stephan: Zitat:...Aber was bedeutet der Text:(strcat "%AcObjProp.16.2 Object(%\_ObjID " (rtos hObjektID 2 0) "%).Area f "%lu2%pr2%ps[,m²]%ds44%ct8[0.0001]%th46%" )?Würde mich über Hilfe oder Erklärung freuen, danke.Das Code:"%AcObjProp.16.2 Object(%\_ObjID " (rtos hObjektID 2 0) "%).Area f "%lu2%pr2%ps[,m²]%ds44%ct8[0.0001]%th46%" ist das Schriftfeld. und mit "(rtos hObjektID 2 0)" wird die ID festgelegt.Die Zeichen (.Area mit eingesch ...
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
autocart am 19.06.2009 um 03:47 Uhr (0)
Ok, habs gefunden. Es hat mit deinem 64bit-Betriebssystem zu tun.Schau mal in die AutoCAD-Developer-Hilfe: Entwicklerhandbuch für ActiveX und VBA: Entwickeln von Anwendungen mit VBA: 64-Bit-Migration: Verarbeiten von ObjectId - Hier sollte dir geholfen werden.Also ich würde den Code(setq hObjektID (vla-get-objectid (vlax-ename-vla-object hElement)))umwandeln in:(setq hObjektID (vla-get-objectid32 (vlax-ename-vla-object hElement)))Allerdings konnte ich es selbst leider nicht ausprobieren, da ich noch ein ...
|
| In das Form Lisp wechseln |
|
Lisp : Brauche Hilfe Für ein Schriftfeld Flächentool für AutoCAD 2010
cad4fun am 19.06.2009 um 07:42 Uhr (0)
Zitat:Original erstellt von Linus23: Was das Wort "strcat" bedeutet weiß ich leider auch nicht.strcat verkettet mehrere Zeichenketten zu einer(strcat "ab" "cd") ergibt "abcd"
|
| In das Form Lisp wechseln |