| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: LISP zur Flächenabfrage (2525 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: 1968 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: 13508 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: 482 Registriert: 29.08.2002 AutoCAD 2020(Deu); Windows 10 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: 150 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: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 25. Okt. 2018 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für wwplus
|
| Technischer Zeichner Sonderfahrzeugbau (m/w/d) | Bei Schmitz Feuerwehrtechnik GmbH verschmelzen Tradition und Innovation in der Sonderfahrzeugbranche. Seit 1934 fertigen wir Feuerwehrfahrzeuge, angefangen bei Kleinfahrzeugen bis hin zu Flugfeldlöschfahrzeugen. Mit unserem vielfältigen Kundenkreis, bestehend aus berufs- und freiwilligen Feuerwehren, Industrie, Flughäfen und öffentlichen Verwaltungen weltweit, blicken wir in eine Zukunft, in der die Rolle der Feuerwehren und Katastrophenschützer zunehmend an Bedeutung gewinnen wird.... | Anzeige ansehen | Technischer Zeichner, Bauzeichner |
|
Bernhard GSD Mitglied
Beiträge: 482 Registriert: 29.08.2002 AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)
|
erstellt am: 29. Okt. 2018 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für wwplus
|