| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Dynamischen Block mit Parametrik und Attributen erstellen (14285 mal gelesen)
|
Erwin Furtner Mitglied Schreinermeister / techn. Administration
Beiträge: 71 Registriert: 12.01.2009 Betriebssystem: Windows XP / Windows Vista AutoCAD-Version: 2010/2011 (OEM)
|
erstellt am: 23. Feb. 2010 18:06 <-- editieren / zitieren --> Unities abgeben:
Servus Profis, ich arbeite mit AutoCAD 2010, scheitere gerade daran einen dynamischen Block mit den neuen Möglichkeiten der Parametrik zu erstellen und hoffe, dass mir hier jemand weiterhelfen kann! Als konkretes Beispiel möchte ich gerne ein Fensterschema für Bauzeichnungen nehmen, das vier Flügel hat und in den gültigen Baumassen (auf Basis einer Blockeigenschaftentabelle) dynamisch gestreckt werden kann. (was auch schon funktioniert...>> Siehe Anlage) Nun ist es aber so, dass ich - wenn ich Strecke - erstmal ein Fenster bekomme, dass drei gleiche und einen größeren Flügel hat... Die Parametrik möchte ich nun so einsetzen, dass sich die Fensterflügel beim Strecken automatisch wieder auf die gleichen Breiten ändern und die Rechtecke, die den Fensterrahmen darstellen entsprechend verschoben werden! Nachdem ich sowohl mit Geometrischen als auch mit Bemassungs-Abhängigkeiten nicht so recht weitergekommen bin und mir auch die Kombination beider nicht gelungen ist, hoffe ich auf professionellen Beistand! Zudem hätte ich da noch zwei kleine Fragen, die mir ebenfalls noch nicht ganz klar sind und hier sicher gelöst werden könnten: - Was beeinflusst, ob ein Blockattribut in der Zeichnung dargestellt wird oder nicht?(Der Modus "Unsichtbar" ist in der Attribut-Definition ausgeschaltet!) - Für was werden der Parameter und die Aktion ABRUFEN verwendet und wie funktioniert's? Für viele sachdienliche Hinweise bereits im Voraus dankend verbleibe ich fürs erste Erwin Furtner 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: 23. Feb. 2010 21:23 <-- editieren / zitieren --> Unities abgeben: Nur für Erwin Furtner
Zitat: Original erstellt von Erwin Furtner: .. Zudem hätte ich da noch zwei kleine Fragen, die mir ebenfalls noch nicht ganz klar sind und hier sicher gelöst werden könnten:- Was beeinflusst, ob ein Blockattribut in der Zeichnung dargestellt wird oder nicht?(Der Modus "Unsichtbar" ist in der Attribut-Definition ausgeschaltet!) - Für was werden der Parameter und die Aktion ABRUFEN verwendet und wie funktioniert's?..
Die Attribut-Sichtbarkeit (Attribut=das Ding an einer Blockreferenz) wird beeinflusst von:
-Eigenschaft sichtbar/unsichtbar -ATTZEIG -Attributwert der sichtbar ist vorhanden ? (nichts,"falsche"Schriftart,nur Leerzeichen -sieht man ja nicht ; oder:QTEXTMODE=1) -Layer des Attributes EINgeschaltet ? -Layer des Attributes getaut ? -Layer der Blockreferenz getaut ? -Allgemeine Objektsichtbarkeit(DXF-GruppenCode 60) ; dies ist aber nicht mit AutoCAD-Boardmitteln zu steuern -normal oder RENDERansicht ? (visuelle Stile?) Dann kommt noch soetwas dazu wie Größe & Position. Auf dynamische Blöcke und Sichtbarkeiten gehe ich NICHT ein. Auf die Besonderheit der Layoutbereiche und Layout-Ansichtfenster bzgl. "frieren im aktuellen AF" auch nicht. Zu dyn.Blöcken gibt es sehr viele Infos in der Hilfe, zB. das Thema "Dialogfeld Eigenschaftenabruftabelle", teste ein wenig herum und nutze die Hilfe, auch zB. das Thema "Angeben von Werten für Abruftabellen" . Acad2010 hat doch so schöne dynamischen Hilfsfunktionen, ein wenig verweilen am fraglichen Ort, schon kommt eine Info dazu und mit F1 geht nach wie vor die passende Hilfeseite für das aktuelle Dialogfeld oder den aktuellen Befehl auf Gibt auch viele Lehrvideos etc. - letztlich ist aber Try&Error die (ein)prägenste Variante des erlernens geblieben Schau dir die Samples in deinem Acad an , zB structural - imperial.dwg
Kurzes Beispiel dennoch: Drehungsparameter verwenden, Drehungsaktion mit dem Parameter und einem Objekt verbinden. Nun noch einen Abrufparameter + eine Abrufaktion erstellen, dabei geht dann das Dialogfeld auf und man kann (etwas flüchtig beschrieben) sich in die linke Seite die Drehungsaktion holen und vordefiniert Wert eingeben. (30 für 30° Drehung zB) auf der rechten Seite gibst du an wie die Eigenschaft genannt werden soll "30 Grad" zB. und man kann weitere vordefinierte Werte eingeben - diese Werden dann bei der Blockreferenz in der Tabelle angezeigt und der User kann diese auswählen - so kann man also zB die Drehung um 30 60 90° vordefinieren ..
------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erwin Furtner Mitglied Schreinermeister / techn. Administration
Beiträge: 71 Registriert: 12.01.2009 Betriebssystem: Windows XP / Windows Vista AutoCAD-Version: 2010/2011 (OEM)
|
erstellt am: 24. Feb. 2010 18:27 <-- editieren / zitieren --> Unities abgeben:
Servus cadffm, Dein Verweis auf die Samples war ein Volltreffer! Mein Block funktioniert (übrigens ganz ohne Parametrik) so wie gewollt... Was ich leider noch nicht hin bekommen habe ist die Geschichte mit den Attributen! Sämtliche Deiner Anmerkungen - so glaube ich zumindest - kann ich Positiv beantworten, sodass ich die Attribute auch in der Zeichnung, in der der Block platziert ist, angezeigt werden und ggf. editiert werden können sollten!? Weil die Attribute jedoch immer noch nicht erscheinen und ich leider nicht mehr Weiter komme (die Geschichte aber schon dringend brauche) wäre ich Dankbar, wenn Du (oder auch ein anderer Profi) meinen Test-Block (siehe Anlage) mal kurz checken könntest, wo der Hund begraben liegt!? Für Deine/Eure Hilfe besten Dank im Voraus Erwin Furtner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 24. Feb. 2010 20:11 <-- editieren / zitieren -->
Hi, vielleicht hab ich bei der Menge an Info's von Euch beiden was übersehen. Wenn ich Deine Zeichnung öffne, fehlt eigentlich nur ein Befehl _ATTSYNC und die Attribute sind vorhanden. Lediglich das Schriftfeld im Attribut 'BREITE_NACH_PARAMETER' kommt nicht gut an, da das Objekt, auf welches dieses verweist, nicht mehr vorhanden ist. Hab ich was überlesen oder wars das? - alfred - ------------------ www.hollaus.at |
Erwin Furtner Mitglied Schreinermeister / techn. Administration
Beiträge: 71 Registriert: 12.01.2009 Betriebssystem: Windows XP / Windows Vista AutoCAD-Version: 2010/2011 (OEM)
|
erstellt am: 24. Feb. 2010 21:36 <-- editieren / zitieren --> Unities abgeben:
Servus Alfred, Genau das war, was mir noch gefehlt hat... Riesig!! Über den Befehl ATTSYNC bin ich zwar in der Hilfe mehrfach gestolpert, kam aber nie auf die Idee, dass es die Lösung meiner Probleme wäre?!? Bei dem Attribut 'BREITE_NACH_PARAMETER' hatte ich versucht, ohne einer zusätzlichen Linie (die rote in der Mitte) auszukommen und direkt den Abstand des Parameter 'Abstand1' als Feld in das Attribut zu übernehmen... Was auch klappt, bis ich den Blockeditor schliesse!? Auf jeden Fall bin ich den Antworten von Euch beiden wieder ein ganzes Stück weitergekommen. Besten Dank dafür! Erwin Furtner
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 24. Feb. 2010 22:09 <-- editieren / zitieren -->
Hi, >> ... Was auch klappt, bis ich den Blockeditor schliesse!? Jetzt kommen wir noch einen Schritt tiefer! Wenn Du in der Blockdefinition ein Schriftfeld in eine Attributdefinition als Vorgabewert einsetzt, dann hilft es nicht, den Blockeditor einfach zu schliessen und dann zu erwarten, dass in der bestehenden Blockeinfügung sich der Wert im Attribut ändert, denn der Vorgabewert des Attributs wird nur bei neu-einfügen eines solchen Blocks einmalig ausgefüllt. Gehst Du danach in den Blockeditor und änderst den Vorgabewert, dann bewirkt das nichts mehr, denn das Attribut ist ja bereits ausgefüllt. (Puuhhh ist das noch verständlich? Ich hoffe ). WOBEI: Grundsätzlich ist es möglich, den Abstand eines linearen Parameters in ein Attribut als Schriftfeld zu übertragen. Aber ich gebe zu, in Deinem Block gelingt es nicht auf Anhieb (Blockplatzhalter ==> Abstand1 ==> Dezimal erzeugt Fehlermeldung 'Ungültiger Schriftfeldcode'). Wenn Du jetzt aber den Parameter mal anklickst, dann im Eigenschaftsfenster 'Aktion verketten' auf 'JA' stellst, dann geht's auch mit Deinem Block. HTH, - alfred - ------------------ www.hollaus.at |
Erwin Furtner Mitglied Schreinermeister / techn. Administration
Beiträge: 71 Registriert: 12.01.2009 Betriebssystem: Windows XP / Windows Vista AutoCAD-Version: 2010/2011 (OEM)
|
erstellt am: 25. Feb. 2010 08:21 <-- editieren / zitieren --> Unities abgeben:
Hi Alfred, Da ist bzw. wäre ja Superg...! Wenn bei mir auch funktionieren würde... Ich Sehe (in meinem, von Dir korrigierten Block) und Glaube! Aber bei mir wird bei der Auswahl des Parameters im Schriftfeld-Dialog keine Fehlermeldung angezeigt sondern der korrekte Wert. Wenn ich dann die Parameter-Eigenschaft "Aktion verketten" auf JA stelle bekomme ich das gleiche Ergebnis wie immer: Die Darstellung des Parameterwertes als "#####" (wobei die Anzahl der Rauten der Anzahl der Zeichen entspricht, wenn der Wert korrekt dargestellt werden würde!!) Neben der von Dir beschriebenen Vorgehensweise habe ich dann noch versucht, den Verweis auf den Parameter>Abstand erst zu setzen, wenn der bereits auf AKTION VERKNÜPFEN = Ja gesetzt war (ohne Verbesserung) und sogar, das Attribut in den Auswahlsatz der Strecken-Aktion hinzuzufügen (ebenfalls ohne Verbesserung). Gibt es vielleicht noch einen weiteren kleinen aber ggf. entscheidenden Punkt, den ich noch Beachten muss? Besten Gruß Erwin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 25. Feb. 2010 12:38 <-- editieren / zitieren -->
Hi, ich bin gar nicht davon überzeugt (ist so oben leider nicht herausgekommen), dann die Einstellung 'Aktion verketten' tatsächlich notwendig ist, denn im Normalfall funkt es auch ohne diese Änderung. Nur in Deiner Zeichnung hatte ich eben nur damit Erfolg. Jetzt kann es sein, dass vielleicht ein ServicePack fehlt, dass ich mit Civil dieses erstellt/modifiziert habe und Du 'nur' AutoCAD hast. Was passiert denn, wenn Du in einer neuen Zeichnung das gleiche nochmals erstellst? - alfred - ------------------ www.hollaus.at |
Erwin Furtner Mitglied Schreinermeister / techn. Administration
Beiträge: 71 Registriert: 12.01.2009 Betriebssystem: Windows XP / Windows Vista AutoCAD-Version: 2010/2011 (OEM)
|
erstellt am: 25. Feb. 2010 16:38 <-- editieren / zitieren --> Unities abgeben:
Hallo Alfred, danke für die schnelle Reaktion! nachdem Du schreibst, dass es bei Dir ohne Probleme läuft, habe ich mal getestet, ob es daran liegen könnte, das wir standardmässig im 2004er DWG-Format speichern oder ob eine AutoCAD 2010 Vollversion Unterschiede zeigt gebenüber einer AutoCAD 2010 OEM... Aber auch das war nicht das Problem! Im Grunde ist es zwar nicht Egal aber mit dem Workaround - dem Auslesen der Länge einer Hilfslinie - kann ich leben! Besten Dank trotzdem für die Mühe Erwin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 25. Feb. 2010 16:43 <-- editieren / zitieren -->
Hi, >> das wir standardmässig im 2004er DWG-Format speichern Das empfehle ich mal, solltest Du NICHT zum Standard machen. Das 2004-Format kennt viele Objektarten und Objekteigenschaften nicht, die Du bewußt oder unbewußt mit 2010 verwendest. Auf 2004 zurückspeichern bedeutet für AutoCAD, alle Elemente auf 2004-Kompatibilität zerlegen (und die in 2004 nicht verfügbaren Eigenschaften umständlich in diversen Positionen speichern). Das Öffnen einer solchen Zeichnung im 2004-Format bedeutet alles zerlegte wieder wie ein Puzzle zusammensetzen. Nicht nur, dass das deutlich länger dauert, kostet es manchmal auch Nerven, wenn dieses Zusammenflicken mißlingt. OEM hab ich nicht, da kann ich's nicht probieren. Aber bei OEM könnte ich mir noch am ehesten vorstellen, dass die ServicePacks noch nicht aktuell sind (oder zumindest hintennach sind), das wäre eine potentielle Quelle! - alfred - ------------------ www.hollaus.at |
Erwin Furtner Mitglied Schreinermeister / techn. Administration
Beiträge: 71 Registriert: 12.01.2009 Betriebssystem: Windows XP / Windows Vista AutoCAD-Version: 2010/2011 (OEM)
|
erstellt am: 25. Feb. 2010 16:53 <-- editieren / zitieren --> Unities abgeben:
Hi, das mit dem 2004er Format ist leider teilweise noch nötig, da wir häufig mit Lieferanten und Kunden zusammenarbeiten, die noch keine neuere Version haben... Die OEM-Geschichte hatte ich nur vermutet, da ich weiss, dass ein paar Einschränkungen vorhanden sind, aber nicht genau sagen kann welche... Habe aber in der Vollversion mit aktuellen Standardvorlagen und dem 2010er Speicherformat einen komplett neuen Block erstellt und das Attribut mit dem Schriftfeld befüllt... >>> Der selbe SCH...! Wie gesagt! Deine Variante wäre zwar schöner, sauberer und einfach rundum konsequent... Muss und kann aber auch mit der Linien-Variante leben - solange sie funktioniert!! Gruß Erwin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 25. Feb. 2010 16:58 <-- editieren / zitieren -->
Hi, >> das mit dem 2004er Format ist leider teilweise noch nötig, da wir häufig mit >> Lieferanten und Kunden zusammenarbeiten, die noch keine neuere Version haben... Die Kunden und Lieferanten sitzen aber nicht in Eurem Büro und greifen auch nicht direkt auf Euren Server? In diesem Fall gibt es Arbeitszeichnungen, die mit 2010 gespeichert werden (und im Format 2010 bleiben). Getrennt davon für die Weitergabe an Kunden/Lieferanten gibt es den Befehl: _ETRANSMIT, der kann in das Format, das Du willst (2004) und legt gleich auch noch referenzierte Daten (XRef, CTB/STB, ...) dazu. Aber dann ist es ja auch eine explizite Datenweitergabe und nicht die weiterzubearbeitende Zeichnung. - alfred - ------------------ www.hollaus.at |
Erwin Furtner Mitglied Schreinermeister / techn. Administration
Beiträge: 71 Registriert: 12.01.2009 Betriebssystem: Windows XP / Windows Vista AutoCAD-Version: 2010/2011 (OEM)
|
erstellt am: 25. Feb. 2010 17:08 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|