| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Attributwert innerhalb einer Berechnung (3560 mal gelesen)
|
xxxmurdockxxx Mitglied techn. Zeichner
Beiträge: 52 Registriert: 18.12.2007 WIN10, Civil 3D 2017 SP1.1
|
erstellt am: 07. Okt. 2009 14:08 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich möchte einen dynamischen Block erstellen, in dem 2 Attribute enthalten sind. Nun soll in einem Schriftfeld innerhalb des Blockes eine Berechnung mit den Werten der Attribute stattfinden. (Wert Attribut1 / Wert Attribut2) Leider nimmt das Schriftfeld nicht die Werte an. Nur wenn ich dem Attribut innerhalb des Blockes einen vordefinierten Wert mitgebe, wird dieser benutzt. Aber eben nur dieser... Wenn ich dann die Attribute ganz normal ändere (nicht im Blockeditor) ändert sich leider die Berechnung nicht. Hilft auch keine regen oder attsync. Mach ich was falsch, oder geht das gar nicht mit Bordmitteln? ------------------ Viele Grüße Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad4fun Ehrenmitglied
Beiträge: 1846 Registriert: 06.12.2004 privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM ATI FirePro V (FireGL V) Graphics Adapter Treiberversion: 15.201.1151.1008
|
erstellt am: 07. Okt. 2009 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
So vielleicht? Block einfügen, Streckung durchführen und dann 2mal(!) regenerieren. EDIT Block ist FALSCH, siehe späteren Beitrag mit Zeichnung2, dort ist der Block richtig [Diese Nachricht wurde von cad4fun am 09. Okt. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xxxmurdockxxx Mitglied techn. Zeichner
Beiträge: 52 Registriert: 18.12.2007 WIN10, Civil 3D 2017 SP1.1
|
erstellt am: 07. Okt. 2009 15:35 <-- editieren / zitieren --> Unities abgeben:
Hallo cad4fun, ich kann Dir da jetzt nicht ganz folgen? Wieso strecken und dann 2x regen? Ich kann sooft regen machen wie ich will, nix ändert sich. Ich hab mal meinen Testblock beigefügt. Nochmal zur Problematik. Ich habe in einem Block 2 Attribute. (Höhe Anfang, Höhe Ende) Dazu noch eine Hilfslinie als Längenparameter. Und natürlich mein Schriftfeld. In diesem Schriftfeld soll nun anhand der Attributswerte und der Länge der Hilfslinie eine Gefälleberechnung stattfinden. (Wert Attribut1)-(Wert Attribut2)/Länge Nur leider nimmt das Schriftfeld nicht die Werte der Attribute.... ------------------ Viele Grüße Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad4fun Ehrenmitglied
Beiträge: 1846 Registriert: 06.12.2004 privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM ATI FirePro V (FireGL V) Graphics Adapter Treiberversion: 15.201.1151.1008
|
erstellt am: 07. Okt. 2009 15:43 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
|
cad4fun Ehrenmitglied
Beiträge: 1846 Registriert: 06.12.2004 privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM ATI FirePro V (FireGL V) Graphics Adapter Treiberversion: 15.201.1151.1008
|
erstellt am: 08. Okt. 2009 08:05 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
|
xxxmurdockxxx Mitglied techn. Zeichner
Beiträge: 52 Registriert: 18.12.2007 WIN10, Civil 3D 2017 SP1.1
|
erstellt am: 08. Okt. 2009 08:32 <-- editieren / zitieren --> Unities abgeben:
|
cad4fun Ehrenmitglied
Beiträge: 1846 Registriert: 06.12.2004 privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM ATI FirePro V (FireGL V) Graphics Adapter Treiberversion: 15.201.1151.1008
|
erstellt am: 08. Okt. 2009 08:36 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
Zitat: Original erstellt von xxxmurdockxxx:
Könntest Du mir einen von dir erstellten Block mal schicken.
Du hast den von mir erstellten Block 'test'! EDIT hier jetzt auch noch in eine DWG eingefügt und verändert [Diese Nachricht wurde von cad4fun am 08. Okt. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xxxmurdockxxx Mitglied techn. Zeichner
Beiträge: 52 Registriert: 18.12.2007 WIN10, Civil 3D 2017 SP1.1
|
erstellt am: 08. Okt. 2009 08:41 <-- editieren / zitieren --> Unities abgeben:
Zitat: Du hast den von mir erstellten Block 'test'!
ja schon, aber was macht denn der Block? Ich kann hier nur die Attribute verschieben, sonst nix. Da ist ja auch kein Schriftfeld drin, dass mit Attributwerten rechnet. ------------------ Viele Grüße Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad4fun Ehrenmitglied
Beiträge: 1846 Registriert: 06.12.2004 privat ACAD 2013 und 2017 deutsch, Windows 7 64Bit HP Elite 7500 Series MT,Intel Cote i5-3470 CPU 3,20Ghz,16GB RAM ATI FirePro V (FireGL V) Graphics Adapter Treiberversion: 15.201.1151.1008
|
erstellt am: 08. Okt. 2009 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
Zitat: Original erstellt von xxxmurdockxxx: ja schon, aber was macht denn der Block? Ich kann hier nur die Attribute verschieben, sonst nix. Da ist ja auch kein Schriftfeld drin, dass mit Attributwerten rechnet.
Es gibt 3 Attribute, welche jeweils als Wert ein Schridtfeld beinhalten. Attribut 'L' für die Länge einer Seite des Quadrates, Attribut 'B' für die Breite der anderen Seite und Attribut 'C' mit einer Formel im Schriftfeld. Kannst mal eine JPG machen von einer DWG, wo Du den Block 2x eingefügt hast, einmal gestreckt und einmal unverändert. Wie meine Zeichnung2 ausschaut siehst im Anhang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xxxmurdockxxx Mitglied techn. Zeichner
Beiträge: 52 Registriert: 18.12.2007 WIN10, Civil 3D 2017 SP1.1
|
erstellt am: 08. Okt. 2009 08:55 <-- editieren / zitieren --> Unities abgeben:
Hallo cad4fun, hab mir grad die neue Zeichnung angesehen. Genau sowas brauche ich. Jatzt hab ch mal eine ganz blöde Frage. Wie kann man als Attributwert ein Schriftfeld einfügen? In der Zeichnung sieht man ja, dass die ganzen werte Schriftfelder sind, aber wenn ich in den Block-Editor gehe, dann sind da nur die Attribute Irgendwie steh ich auf dem Schlauch Habs grad gefunden.... ------------------ Viele Grüße Stefan [Diese Nachricht wurde von xxxmurdockxxx am 08. Okt. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 08. Okt. 2009 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
|
xxxmurdockxxx Mitglied techn. Zeichner
Beiträge: 52 Registriert: 18.12.2007 WIN10, Civil 3D 2017 SP1.1
|
erstellt am: 08. Okt. 2009 09:41 <-- editieren / zitieren --> Unities abgeben:
Sodalle. jetzt hab ich´s. Das ganze geht nur, wenn man dem Attribut gleich einen Wert mitgibt. Und die Berechnung als Schriftfeld muß innerhalb eines Attributwertes stattfinden. Warum auch immer Danke für die Hilfe.
------------------ Viele Grüße Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 08. Okt. 2009 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
|
xxxmurdockxxx Mitglied techn. Zeichner
Beiträge: 52 Registriert: 18.12.2007 WIN10, Civil 3D 2017 SP1.1
|
erstellt am: 08. Okt. 2009 10:12 <-- editieren / zitieren --> Unities abgeben:
Was ich nicht verstehe.. Wenn ich innerhalb des Blockes ein Schriftfeld mit Berechnung (z.b. Wert AttributA - Wert AttributB) einfüge geht es nicht. Egal ob ich dem Attribut einen Startwert mitgebe oder nicht. Wenn ich aber das Schriftfeld in ein Attribut einbette, dann funkioniert´s. ------------------ Viele Grüße Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 08. Okt. 2009 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
Ich beziehe mich mal ganz einfach auf die Aufgabenstellung und berücksichtige alle anderen Posts und Aussagen NICHT, evtl. bringt "uns" das ja auch schon zur Klärung - ich tippe nämlich mal auf das häufige Problem das BlockDEF/BlockREF sowie Attribut und Attributdefinition nicht verstanden werden !?. In Acad2006 war es so (und ich denke es hat sich nicht wirklich etwas geändert seit dem ?) das: In der Blockdefinition, bzw. in der Attributdefinition kann man garnicht vorherbestimmen das ein Wert aus einem späteren Attribut einer Blockreferenz des Blockes verwendet werden soll. Diese Möglichkeit besteht nur für die Eigenschaften einer Blockreferenz, dafür gibt es das Feld "Blockplatzhalter", hier kann man definieren das man später zB. den (Einfüge-)Layer einer Blockreferenz angezeigt bekommt, Attribute gehören jedoch nicht zu den Eigenschaften einer Blockreferenz. (Auch wenn sie freundlicherweise im Eigenschaftenfenster mit angezeigt werden und sogar für Objekt-Schriftfelder, wenn man eine Blockreferenz als Objekt wählt, mit zur Auswahl stehen - bzw. vordefiniert nur deren Textwert.) Erst wenn eine Blockreferenz existiert und man sie als Objekt (für ein Schriftfeld) wählen kann dann kann man auch auf deren Textwerte(Attributwert) zugreifen. Bedeutet nochmal unterm Strich kurz und knapp: Felder in denen mit Attributwerten "gearbeitet" werden soll müssen nach der Erstellung einer Blockreferenz erstellt werden, somit auch anders herum: Man kann es in der Blockdefinition/Attributdefinition NICHT vorbestimmen. Ob das Schriftfeld in einem freien Text oder in einem Attribut(der gleichen oder einer anderen Blockreferenz) erstellt wird ist dabei völlig nebensächlich. <sollte es mittlerweile, also in Acad2010 zB., doch sowas wie ein "ATTRIBUTPLATZHALTER" für Felder geben dann postet das hier bitte> Habe ich jetzt völlig unnütz geschrieben oder hilft das zufällig. ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xxxmurdockxxx Mitglied techn. Zeichner
Beiträge: 52 Registriert: 18.12.2007 WIN10, Civil 3D 2017 SP1.1
|
erstellt am: 08. Okt. 2009 13:41 <-- editieren / zitieren --> Unities abgeben:
Hallo cadffm, erstmal vielen Dank für Deine Information. Ich hab mal meinen Block mit angehängt. Dort ist im Block ein Schriftfeld mit einer Berechnung. Und auch ein Attribut(C) in der dieses Schriftfeld als Wert integriert ist. Wenn ich jetzt die Attributswerte A+B ändere, dann wird nach einem "regen" das Attribut C neu berechnet und korrekt dargestellt. Das Schriftfeld aber bleibt unberührt und ändert sich nicht. Anscheinend ist das ein kompliziertes Thema mit diesen Attributen. Aber da es ja jetzt so für mich funktioniert sehe ich dies als gelöst an.
------------------ Viele Grüße Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 08. Okt. 2009 18:01 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
so, ich nochmal ganz kurz: Hier ist (für mich) eine Grenze erreicht was über das Forum (schriftlich) geht und was darüber hinaus geht. Damit wir an dieser Stelle "weiterreden" können müßte man auch noch den Aufbau und die Funktion von dynamische Blöcke durchgehen (und da ist mir selbst noch nicht alles klar in Kombination mit Attrib&Attdef )sorry Meine Beschreibung bezieht sich auf "normale Blöcke und deren Referenzen" und dem normalen Verhalten dieser. Wichtig: Dein Beispielblock mit dem du nun so glücklich bist funktioniert SO auch nicht, erst wenn dynamische Blöcke daraus erstellt werden (den Text kann ich mir wohl sparen, versteht wohl eh kaum einer) funktioniert das Ganze ! Also immer schön darauf achten das die Blockreferenzen welche du benutzt alle schonmal über die dynamischen Funktionen geändert wurden (oder Kopien dieser sind). Wenn du eine "neue" Blockreferenz anhand der original Blockdefinition erstellst (Befehl: EINFÜGE zB.) dann verhält sich diese wie ein ganz normaler Block/Blockreferenz und es funktioniert nicht. Problematisch ist dabei das man das einer Blockreferenz nicht unbedingt ansieht. Viel Glück und das immer alles so passt wie du das möchtest ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xxxmurdockxxx Mitglied techn. Zeichner
Beiträge: 52 Registriert: 18.12.2007 WIN10, Civil 3D 2017 SP1.1
|
erstellt am: 09. Okt. 2009 08:24 <-- editieren / zitieren --> Unities abgeben:
Ich kann zwar Deine Aussage reproduzieren, aber ich versteh das nicht. Aber gut, wenn man es weiß, kann man damit leben. Gibt es dann eine elegantere Lösung, die auch funktioniert, wenn der Block nachträglich per EINFÜG nochmals in die Zeichnung eingefügt wird? ------------------ Viele Grüße Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 09. Okt. 2009 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
|
Ex-Mitglied
|
erstellt am: 09. Okt. 2009 21:18 <-- editieren / zitieren -->
Hi Stefan, >> Wenn ich jetzt die Attributswerte A+B ändere, dann wird nach einem "regen" das >> Attribut C neu berechnet und korrekt dargestellt. >> Das Schriftfeld aber bleibt unberührt und ändert sich nicht. Ich gebe zu, die Teile oben nur überflogen zu haben und dabei hab ich vielleicht was übersehen. Die Zeichnung von Dir mit obiger Meldung hätte ich mir mal angesehen und da komme ich auf die Vermutung, dass Du in einer Blockdefinition vermutest, dass Du mit Schriftfeld den MTEXT (mit dem Wert 0.00) meinst. Texte ändern sich nicht mehr, wenn diese in einem Block definiert sind, dazu musst Du schon eine Attributsdefinition statt einem MText machen, dann funkts auch mit dem unteren Wert. - alfred - PS: In Deiner Systeminfo steht Civil3D ==> Du weisst aber schon, dass Du mit Kantenbeschriftungen von Civil diese Pfeil- und Neigungsdarstellung schon auch ohne irgendwas mit Block-definieren mit Schriftfeldern in den Attributsdefinitions-Vorgabewerten möglich ist (ausser das Ziel ist, dass Du andere Werte enthalten haben willst als diese tatsächlich im CAD vorhanden sind). ------------------ www.hollaus.at |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 09. Okt. 2009 21:56 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
@Alfred, das gilt nicht für die Anzeige von Schriftfeldern in Texten,das Problem hier ist ganz einfach das die Felder mit einer Attributdefinition verknüft sind und nicht mit einem Attribut. Da sich die Attributdefinition nicht ändert, ändert sich auch die Anzeige im Schriftfeld nicht. (Das es mit dem Attribut funktioniert / da sind wir beim Thema dynamische Blöcke und deren Objektstruktur&Funktionsaufbau (siehe oben) was dann mit dem Thema Attribute und Feldern hier den Rahmen sprengt. Bin mir gerade nicht mal sicher ob Adesk das wollte <lach> ) ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 09. Okt. 2009 22:14 <-- editieren / zitieren -->
Hi, @cadffm: ich hätte hier was gemacht, unter dem MText ein Attribut, wo ich die gleiche Formel (wie im urspruenglichen MText) hineingepackt habe. Mit einem kleinen Handycap (das ich aber jetzt eher meiner AutoCAD-Installation von 2010 zuschreibe) ==> der Block muss mal nach dem Einfügen modifiziert werden, sprich schieben oder drehen. Danach Attribut A oder B ändern ==> _regen ==> mein Ergebnisattribut (mit Schriftfeld) arbeitet, MText mit Schriftfeld nicht. BTW: zieht man Endpunkt der Linie auf Anfangspunkt ==> DIV/0 - alfred - ------------------ www.hollaus.at [Diese Nachricht wurde von a.n. am 09. Okt. 2009 editiert.] |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 09. Okt. 2009 23:14 <-- editieren / zitieren --> Unities abgeben: Nur für xxxmurdockxxx
|
Ex-Mitglied
|
erstellt am: 10. Okt. 2009 11:13 <-- editieren / zitieren -->
Hi, >> das ist jetzt der Zeitpunkt an dem du den Thread, insbesondere >> meine Antworten, doch mal durchlesen solltest ...oh ja, da war Querlesen der obigen Diskussion wohl ein wenig quer. Zumindest kann ich damit bestätigen, dass das Verhalten von 2010 ident ist (in bezug auf Blockreferenz modifizieren und dann erst zweites Update, und ebenfalls, das war auch schon meine Andeutung oben, dass die Formel in eine Attributdefinition mehr bringt als in einem Text). Danke für den Hinweis, - alfred - ------------------ www.hollaus.at |