| |
![](https://ww3.cad.de/php/image.php?resolution=width:20050) | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Lisp-Tool Flächenermittlung unter 64-bit (3259 mal gelesen)
|
GWH Mitglied
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für GWH](/foren/ubb/pmimages/gbu.gif) Beiträge: 551 Registriert: 08.06.2001
|
erstellt am: 14. Sep. 2010 14:21 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Hallo Lisp-Profis, folgende Problematik stellt sich unter der 64-bit Version von AutoCAD ein (egal ob 2010 oder 2011): es gibt ein Lisp zu Flächenermittlung von Objekten, wo die Fläche als Schriftfeld abgelegt wird. Funktionierte bisher in den 32-bit Versionen einwandfrei, egal ob AutoCAD oder Civil, aber in den 64-bit nicht mehr - egal ob AutoCAD oder Civil, ob Win XP oder Win 7. Es wird die Abfrage ausgeführt, das Schriftfeld abgelegt, jedoch nicht der Flächeninhalt, sonder die Rautezeichen = Verknüpfung zu Objekt verloren. So sieht das aktuelle Lisp aus: (defun c:flm2 () (setq a (car (entsel)) b (getpoint "\n Select Point: ")) (linkedlength a b) ) (vl-load-com) ;;get a reference to model space (setq *model-space* (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) ;;pass this function an entity and a point (defun LinkedLength (ent pt / obj objID ip width str) ;;convert the entity to an object (setq obj (vlax-ename->vla-object ent) ;;get the object ID objID (vla-get-objectid obj) ;;convert the point ip (vlax-3D-Point pt) ;;set the width for the MTEXT width 0.0 ;;set the string - this creates the field str (strcat "%<\\AcObjProp.16.2 Object(%<\\_ObjId " (rtos objID 2 0) ">%).Area \\f \"%lu2%pr2%ct8\">%""m²" ) ) ;;Create the MTEXT entity containing the field. (vla-addMText *model-space* ip width str) ) Kennt von euch jemand dieses Problem, beziehungsweise hat eine Lösung? Vielen Dank im voraus.
------------------ Ciao Günter -------------------------------------------------------------------------------- "Wir haben keine Probleme, sondern Aufgaben zu lösen." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif) ![](/foren/ubb/Admin4.gif) ![](/foren/ubb/Admin5.gif) ![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif)
![](/foren/avatars/CADmium.gif)
![Schreiben Sie einen Gästebucheintrag für CADmium](/foren/ubb/pmimages/gbu.gif) Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 14. Sep. 2010 14:24 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für GWH
|
GWH Mitglied
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für GWH](/foren/ubb/pmimages/gbu.gif) Beiträge: 551 Registriert: 08.06.2001
|
erstellt am: 14. Sep. 2010 14:39 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
das mit der ObjektID ist mir schon aufgefallen, nur hatte ich im Forum diesbezüglich nichts gefunden. ------------------ Ciao Günter -------------------------------------------------------------------------------- "Wir haben keine Probleme, sondern Aufgaben zu lösen." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GWH Mitglied
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für GWH](/foren/ubb/pmimages/gbu.gif) Beiträge: 551 Registriert: 08.06.2001 AutoCAD ab R14, Civil 3D 20xx BricsCAD ab V20 Win 10 Pro 64bit, ...
|
erstellt am: 14. Sep. 2010 15:27 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Da meine Kenntnisse im programmieren äußerst dürftig sind, hoffe ich es richtig zusammengebaut zu haben. Es funktioniert nach wie vor nicht - Schriftfeld mit Raute wird abgelegt - zusätzlich bekomme ich folgende Meldung: ; Fehler: Falsch formatierte Liste in Eingabe Befehl: flm2 Objekt wählen: Select Point: #<VLA-OBJECT IAcadMText2 000000002be0ff28> Befehl: **********************
zusammengestellter Code: defun c:flm2 () (setq a (car (entsel)) b (getpoint "\n Select Point: ")) (linkedlength a b) ) (vl-load-com) ;;get a reference to model space (setq *model-space* (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) ;;pass this function an entity and a point (defun LinkedLength (ent pt / obj objID ip width str) ;;convert the entity to an object (setq OBJ(vlax-ename->vla-object ENT)) ;;get the object ID (or(and(setq UTIL(vla-get-utility(vla-get-ActiveDocument (vlax-get-acad-object))) (vlax-method-applicable-p UTIL "GetObjectIdString") (setq OBJID(vlax-invoke-method UTIL "GetObjectIdString" OBJ :vlax-False)) ) (setq OBJID (vla-get-objectid OBJ) ) ;;convert the point ip (vlax-3D-Point pt) ;;set the width for the MTEXT width 0.0 ;;set the string - this creates the field (setq STR (strcat "%<\\AcObjProp.16.2 Object(%<\\_ObjId" (vl-princ-to-string OBJID) ">%).Area \\f \"%lu2%pr2%ct8\">%""m²" ) ) ;;Create the MTEXT entity containing the field. (vla-addMText *model-space* ip width str) )
------------------ Ciao Günter -------------------------------------------------------------------------------- "Wir haben keine Probleme, sondern Aufgaben zu lösen." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
![](/foren/avatars/wronzky.gif)
![Schreiben Sie einen Gästebucheintrag für wronzky](/foren/ubb/pmimages/gbu.gif) Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 14. Sep. 2010 15:46 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für GWH
|
GWH Mitglied
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für GWH](/foren/ubb/pmimages/gbu.gif) Beiträge: 551 Registriert: 08.06.2001
|
erstellt am: 14. Sep. 2010 17:45 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Danke für dein bemühen Henning, aber diese Routine ist nur für Polylinien. Zudem funktioniert sie leider nicht. Es kam die Meldung: Raumpolygon wählen: ; Fehler: Fehlerhafter Argumenttyp: numberp: "8796083607888" Im Beitrag fand ich dann deinen Hinweis, das etwas ausgetauscht gehört. Getan, nächste Meldung: Objekt wählen: Select Point: #<VLA-OBJECT IAcadMText2 0000000025f11558> und der Befehl wurde ohne Ergebnis beendet. Wie schon erwähnt, bin ich dem Programmieren nicht mächtig. Trotzdem vielen Dank. ------------------ Ciao Günter -------------------------------------------------------------------------------- "Wir haben keine Probleme, sondern Aufgaben zu lösen." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif) ![](/foren/ubb/Admin4.gif) ![](/foren/ubb/Admin5.gif) ![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif)
![](/foren/avatars/runkelruebe.gif)
![Schreiben Sie einen Gästebucheintrag für runkelruebe](/foren/ubb/pmimages/gbu.gif) Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 14. Sep. 2010 19:15 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für GWH
Weil Du eine ganz fiese Stolperstelle drin hast, also für jmd. der nicht proggen kann, wie Dich und mich z.B. ![](/foren/ubb/biggrin.gif) Hat mich doch so einige Minuten gekostet, diese zusätzliche Zeile in wronzkys Beispiel heißt es (freies Zitat) Zitat: statt:Code: (vla-get-objectid (vlax-ename->vla-object hElement))
Das:Code: (Get-ObjectIDx64 hElement)
Du dagegen hast Code: (setq obj (vlax-ename->vla-object ent) ;;get the object ID objID (vla-get-objectid obj)
da stehen--> da mußt Du eingreifen. Das andere, was Du noch tauschen mußt, steht weiter unten (das mit dem rtos)------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |