| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: dyn. Blöcke: auf Attributwerte reagieren (362 mal gelesen)
|
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2022, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 20. Jul. 2005 09:53 <-- editieren / zitieren --> Unities abgeben:
hi ! .... und noch eine frage zu den dyn. blöcken. blöcke können attribute enthalten - aber hat einer von euch einen weg gefunden, wenn es den denn gibt, das die definitionen auf die attributwerte reagieren ! wäre ein interessanter ansatz ! um nicht wieder ärger zu bekommen - ich habe in der autocad hilfe nach den begriffen "dyn. blöcke attribut" gesucht und nichts passendes gefunden ! gruß Jan :-) ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 20. Jul. 2005 10:24 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
|
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2022, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 20. Jul. 2005 11:02 <-- editieren / zitieren --> Unities abgeben:
|
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 20. Jul. 2005 11:14 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Er wollte dich darauf hinweisen, dass es im 05er und aufwärts die Möglichkeit der "Felder" gibt (ähnlich der Felder die man aus dem Word schon seid Jahren kennt). Diese Felder kann man auch mit bestimmten Eigenschaften/Abhängigkeiten verknüpfen... ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2022, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 20. Jul. 2005 11:24 <-- editieren / zitieren --> Unities abgeben:
hallo thomas, ich verstehe leider deine idee nicht ganz ! willst du damit sagen, dass du über die felder dyn. eigenschaften auslesen willst und dann in attributen ausgeben willst ?? wenn dem so ist, dann ist das genau der umgekehrte weg von meiner idee ! ich möchte attributdaten ändern und diese über die dyn. eigenschaften darauf reagieren (z.b. den baumdurchmesser ändern). vielleicht kannst du eine stelle aus der hilfe zitieren damit ich dir folgen kann? gruß Jan :-) ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 20. Jul. 2005 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Vergiss die Attribute... Du kannst diverse Werte (Fläche, Umfang, usw...) direkt vom Objekt in ein "Feld" schreiben lassen - dynamisch (auch ohne Block); siehe dazu auch F1 >>> Felder - da sind glaub ich sogar Beispiele dabei... (ich kann dir die Hilfe nicht zitieren, da ich hier nur das 04er hab... und da gibts keine "Felder" - ausser denen die im Lageplan vorkommen (ausserdem erachte ich es nicht für sinnvoll, wenn wir dir die Hilfe posten/posten sollen, wenn du sie selber hast...) ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
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: 20. Jul. 2005 11:45 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Hallo Jan! mal blöd gefragt: Wenn Du nur einen Baumdurchmesser ändern willst, kannst Du ja auch einen "normalen" Block nehmen und den Skalierfaktor ändern. Wenn Du das "automatisch" haben willst durch Ändern des Attributs "Durchmesser" brauchst Du einen Reactor, der auf die Änderung des Attributs entsprechend reagiert. IMHO müsste das auch mit dynamischen Blöcken gehen. Grüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 20. Jul. 2005 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
|
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2022, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 20. Jul. 2005 11:55 <-- editieren / zitieren --> Unities abgeben:
hallo !! @thomas das war das, was ich vermutet hatte - du willst die eigenschaften auslesen und ich will etwas umgekehrt definieren.... "..die Hilfe posten..." - eine kapitelüberschrift meine ich natürlich ... keine zig-Seiten ! @Henning natürlich ist der baum nur ein ganz einfaches beispiel. der stamm bleibt wie er ist und die krone soll dann aufgezogen werden können. beim "normalen" skalieren wird der stamm ansonsten mit skaliert ! ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
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: 20. Jul. 2005 12:06 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
OK, aber der Weg bleibt gleich: Du brauchst einen Reactor, der dann entsprechend die dynamische Eigenschaft ändert.(s. u.) Zitat: Original erstellt von mapcar: Aber da stellt sich die Frage: Wie ändert man denn die dynamischen Eigenschaften?
@Axel HIER gibts einen Code zum ändern von dynamischen Eigenschaften: Code: (defun c:sdb (/ esb v vval sal salnth count) (vl-load-com) (setq esb nil) (while (= esb nil) (setq esb (entsel)) (if (/= (vlax-get-property (vlax-ename->vla-object (car esb)) "effectivename") "YOUR BLOCK NAME HERE" ) ;_ Ende von /= (setq esb nil) ) ;_ Ende von if ) ;_ Ende von while (setq obj (vlax-ename->vla-object (car esb))) (setq v (vla-getdynamicblockproperties obj)) (setq vval (vlax-variant-value v)) (setq sal (vlax-safearray->list vval)) (setq salnth (length sal)) (setq count 0) (while (< count salnth) (if (= (vlax-get-property (nth count sal) "PropertyName") "YOUR VARIABLE NAME HERE") (progn (vlax-put-property (nth count sal) "Value" "YOUR SETTING HERE") (princ) (setq count salnth) ) ;_ Ende von progn (setq count (+ count 1)) ) ;_ Ende von if ) ;_ Ende von while (princ) ) ;_ Ende von defun
Grüsse, Henning PS: Wird der Stamm nicht auch dicker, wenn der Baum grösser wird? ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de [Diese Nachricht wurde von wronzky am 20. Jul. 2005 editiert.] [Diese Nachricht wurde von wronzky am 20. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |