| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | VOM SUCHEN UND FINDEN, eine Pressemitteilung
|
Autor
|
Thema: LISP zur Flächenabfrage (2922 mal gelesen)
|
wwplus Mitglied Architekt
 
 Beiträge: 172 Registriert: 22.09.2003 Windows 7(x64) Windows XP Autocad ADT 2004 bis 2011 Autocad LT 2004 bis 20113D Studio Viz 2008
|
erstellt am: 20. Aug. 2009 14:34 <-- editieren / zitieren --> Unities abgeben:         
Hallo, für einiger zeit hat wurde mir hier im forum ein lisp geschrieben, dass mir sowohl die fläche als auch den umfang eines polygons jeweils in ein textfeld schreibt und dabei gleichzeitig verknüpft, so das eine veränderung des polygons automatisch im text die zahlen ändert. nun komme ich heute aus dem urlaub zurück, und das lisp funktioniert nichtz mehr. hat jemand eine idee (defun c:fl_att (/ pl att1 att2 fl) ;;; (defun :field-makeObjectRefText (#object #property /) (if (vlax-property-available-p #object #property) (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID #object)) ">%)." (vl-princ-to-string #property) " \\f \"%lu2%pr2\">%" ) (strcat "##" (vl-princ-to-string #object) "." (vl-princ-to-string #property) "##" ) ) ) ;;; (setq pl (car (entsel "\nPolygon wählen: ")) att1 (car (nentsel "\nZielattribut wählen (Fläche): ")) att2 (car (nentsel "\nZielattribut wählen (Länge): ")) ) (entmod (subst (cons 1 (:field-makeObjectRefText (vlax-ename->vla-object pl) 'Area) ) (assoc 1 (entget att1)) (entget att1) ) ) (entmod (subst (cons 1 (:field-makeObjectRefText (vlax-ename->vla-object pl) 'Length) ) (assoc 1 (entget att2)) (entget att2) ) ) (command "_regen") (princ) ) PS. mittlerweile arbeite ich mit adt 2010 gruss
andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
    

 Beiträge: 1998 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 20. Aug. 2009 15:07 <-- editieren / zitieren --> Unities abgeben:          Nur für wwplus
|
wwplus Mitglied Architekt
 
 Beiträge: 172 Registriert: 22.09.2003 Windows 7(x64) Windows XP Autocad ADT 2004 bis 2011 Autocad LT 2004 bis 20113D Studio Viz 2008
|
erstellt am: 20. Aug. 2009 15:39 <-- editieren / zitieren --> Unities abgeben:         
hallo cadwisel, ich wähle eine polylinie und dann meine zwei texte in einem vorgefertigtem block aber es geschieht nichts. weder eine fehlermeldung noch eine aktualisierung der zahlen. gruss andreas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wwplus Mitglied Architekt
 
 Beiträge: 172 Registriert: 22.09.2003 Windows 7(x64) Windows XP Autocad ADT 2004 bis 2011 Autocad LT 2004 bis 20113D Studio Viz 2008
|
erstellt am: 21. Aug. 2009 09:28 <-- editieren / zitieren --> Unities abgeben:         
hallo cadwiesel wenn ich das lisp ausführe und anstelle meines blockes zwei normale mtexte wähle erhalte ich als Lispausgabe folgenden text \acobjprop object(%<\_objld 2117137096>%).AREA \f "%lu2%pr2" bzw. \acobjprop object(%<\_objld 2117137096>%).LENGTH \f "%lu2%pr2" führe ich dann einen doppelklick auf den text aus erscheint der gewünschte wert für die fläche bzw. den umfang im textfeld keine ahnung was da in meinem urlaub passiert ist. gruss andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 21. Aug. 2009 09:32 <-- editieren / zitieren --> Unities abgeben:          Nur für wwplus
|
wwplus Mitglied Architekt
 
 Beiträge: 172 Registriert: 22.09.2003 Windows 7(x64) Windows XP Autocad ADT 2004 bis 2011 Autocad LT 2004 bis 20113D Studio Viz 2008
|
erstellt am: 21. Aug. 2009 09:36 <-- editieren / zitieren --> Unities abgeben:         
|
Bernhard GSD Mitglied
  
 Beiträge: 506 Registriert: 29.08.2002 AutoCAD 2025(Deu); Revit 2025(Deu); Windows 11 PRO x64(Deu)
|
erstellt am: 24. Okt. 2018 11:54 <-- editieren / zitieren --> Unities abgeben:          Nur für wwplus
Zusatzfrage: Wer kann mir helfen, diese Zeile Code: (:field-makeObjectRefText (vlax-ename->vla-object pl) 'Area)
so umzustricken, dass ich statt der Polylinie einen Attributwert ["M2"] statt der Flächhe einschreiben kann? Bisheriger Code:
Code: (DEFUN c:att_att (/ pl qatt zatt fl) (SETQ qatt (CAR (ENTSEL "\nQuellattribut wählen: ")) zatt (CAR (NENTSEL "\nZielattribut wählen: ")) ;** geloescht ** ) (ENTMOD (SUBST (CONS 1 (:field-makeobjectreftext (VLAX-ENAME->VLA-OBJECT qatt)'textstring)) (ASSOC 1 (ENTGET att)) (ENTGET att) ) ) (ENTUPD (CDR (ASSOC 330 (ENTGET att)))) (PRINC) )
Die Basusfunktion
Code: :field-makeObjectRefText
ist ja hier im Thread bekannt. Danke im Voraus!
------------------ Gruß aus Wien Bernhard  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
 
 Beiträge: 159 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 25. Okt. 2018 12:27 <-- editieren / zitieren --> Unities abgeben:          Nur für wwplus
Zitat: Original erstellt von Bernhard GSD: Zusatzfrage:Code: (:field-makeObjectRefText (vlax-ename->vla-object pl) 'Area)
so umzustricken, dass ich statt der Polylinie einen Attributwert ["M2"] statt der Flächhe einschreiben kann?
Sorry, aber den Satz verstehe ich auch nach mehrmaligem durchlesen nicht  Ich kann nur bestätigen, das das LISP Funktioniert wie es soll (getestet in AutCAD 2019)  Gruß Jörg
------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22497 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 25. Okt. 2018 12:37 <-- editieren / zitieren --> Unities abgeben:          Nur für wwplus
|
Bernhard GSD Mitglied
  
 Beiträge: 506 Registriert: 29.08.2002 AutoCAD 2025(Deu); Revit 2025(Deu); Windows 11 PRO x64(Deu)
|
erstellt am: 29. Okt. 2018 13:09 <-- editieren / zitieren --> Unities abgeben:          Nur für wwplus
|