| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Abfrage beim Insert ob Block dynamisch (1882 mal gelesen)
|
gerhard123 Mitglied techn.Angestellter
Beiträge: 151 Registriert: 29.11.2007
|
erstellt am: 06. Sep. 2013 10:44 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 06. Sep. 2013 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 06. Sep. 2013 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
direkt beim Einfügen geht das erstmal nicht. Wenn der Block schon in der Zeichnung definiert ist, dann kansst du das vorher prüfen, Wenn das ein Block ist, der erst in die Zeichnung reinkommt dann kannst du das auch erst prüfen, wenn er in der Zeichnung ist. ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gerhard123 Mitglied techn.Angestellter
Beiträge: 151 Registriert: 29.11.2007
|
erstellt am: 06. Sep. 2013 12:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, was ich meine: Bevor ich den Block "c:\\temp\\Block.dwg" einfüge abzufragen ob es sich dabei um einen dynamischen Block handelt. Wenn dynamisch dann (command "_insert" "c:\\temp\\Block.dwg") sonst soll der Block schon ausgericht eingefügt werden. (command "_insert" "c:\\temp\\Block.dwg" pt 0 0 0) Ich hoffe du kannst jetzt meine Frage versehen. Lg. Gerhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 06. Sep. 2013 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
|
gerhard123 Mitglied techn.Angestellter
Beiträge: 151 Registriert: 29.11.2007
|
erstellt am: 09. Sep. 2013 07:00 <-- editieren / zitieren --> Unities abgeben:
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 09. Sep. 2013 16:31 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
Ein Frage am Rande: Kann es sein, wenn man einen dynamischen Block mit 2 visibility Attributen einfügt immer nur ein Attribut (das sichtbare) abgefragt wird (siehe Block) Code: -INSERT Enter block name or [?] <test>: lut%Units: Meters Conversion: 1.00000000 Specify insertion point or [Basepoint/Scale/X/Y/Z/Rotate]: Specify scale factor or [Corner/XYZ] <1>: Specify rotation angle <0>: Enter attribute values LUT-v <0.0>:
[Diese Nachricht wurde von cadplayer am 09. Sep. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 09. Sep. 2013 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 09. Sep. 2013 17:12 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
wie kann man dann die jeweiligen attribute abfragen. bei soll bei einem neg. resultat das erste und bei pos. result das zweite attribut ausgefuellt werden ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 09. Sep. 2013 18:42 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
Wo wir eigentl. wieder bei der Ausgangsfrage wären. Sollte ein dynamischer Block aufgerufen werden, der sich noch nicht in der Zeichnung befindet, wie weiss er dann, ob ein visibility param. dranhängt. Bräucht mal eine Erklärung mit Tiefgang, als Zitat: Ja, macht zudem Sinn gell
Nochmal zum Verständnis: ich füge einen Block ein, der extern als dyn. Block bestehend aus einem Symbol und zwei Attributen liegt. In der Blockreferenz sind die Attribute mit einem "Sichbarkeit"verweis versehen. Code: Stand1: 1. Attribut wird angezeigt + Pfeil rechts Stand2: 2.Attribut wird angezeigt + Pfeil links
. Als Aufgabe wird ermittelt, ob die Differens zwischen zwei Höhen positiv oder negativ ist und entsprechend das Gefälle [wert]+[Pfeilrichtung] angezeigt. Sicherlich wäre es schneller zu lösen, einfach 2 unterschiedliche Blöcke zu definieren und entspr. zu erzeugen. Es macht hier aber Sinn einen dyn. Block einzusetzen, der hin- und hergestellt wird. Leider kann ich nicht durchschauen, was passiert beim insert-Aufruf. Ich könnte jetzt nur den Weg gehen, mir den Block blanko einfügen zu lassen und anschliessend die Attribute zu manipulieren. ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 09. Sep. 2013 22:41 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
Zitat: Original erstellt von gerhard123: wie kann ich beim Einfügen eines Wblocks abfragen ob dieser ein dynamischer Block ist oder ein normaler Autocadblock?? Geht das überbaupt??
Ja das geht, da aber der Block in der DWG noch nicht definiert ist und der ganze Modelspace erst beim Einfügen in die Zieldatei zum neuen internen Block wird, mußt du in der Quelldatei den Modelspace auf vla-get-IsDynamicBlock abfragen. Allerdings ergibt sich daraus die nächste Frage: Was hilft dir diese Info ? Damit du wie gewünscht ausgerichtet/nicht ausgerichtet entscheiden kannst, muß dir der Block doch so wie so bekannt sein. Wenn der Block einen Umkehrparameter hat, dann ist er dynamisch - es macht in dem Fall aber keinen Sin´n den Block nicht auszurichten, richtig ? Dir muß also bekannt sein was das für ein Teilchen ist und wenn es dir bekannt ist, dann kannst du auch über den Blocknamen regeln was es machen soll. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 09. Sep. 2013 23:06 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
Zitat: Leider kann ich nicht durchschauen, was passiert beim insert-Aufruf. Ich könnte jetzt nur den Weg gehen, mir den Block blanko einfügen zu lassen und anschliessend die Attribute zu manipulieren.
Wieso kannst du das nicht ? Befehl: _Insert .... machen/testen = Wissen. Aus erster Hand. Zudem sind Funktionen rund um Blöcke am meisten diskutiert und auch dokumentiert, man muß sich halt nur mal rann setzen. Wenn man eine DWG als Block einfügt, dann wird zunächst eine Blockdefinition erstellt (oder neu definiert), das bedeutet das Acad nachschaut was alles nötig ist für den Block, da wäre Textstile, Bemaßungsstile, Layer und so weiter. Alles was er benötigt(vom Namen her noch nicht kennt) wird importiert, danach wird der Block definiert (oder der vorhandene interne Block geändert). Modellbereich Elemente werden zum Blockinhalt, insunits der DWG werden zu insunits des Blockes, insbase wird zum Basispunkt - wenn er nicht durch dynamische Parameter überstimmt wird, usw. Dann folgt der normale Insert-Vorgang durchgeführt, je nach Blockinhalt und Einstellungen werden dann Einfügepunkt, x-Skalierung, y-Skalierung und Drehung abgefragt, ggf. Attributwerte, dann wird eine Blockreferenz(Insert) erzeugt und ggf. gesprengt, voila. Für dich noch andere Punkte: Du hast EINE Prozentangabe, wieso willst du dann ZWEI Attribute nutzen, da reicht doch dann ein Attribut oder nicht ? Kann man doch sicher diese schönen Abhängigkeiten zum ausrichten nutzen, oder ? <kenn mich da nicht so aus, hat man ja aber in ein paar Minuten raus > Zum Thema: Du kannst doch über den _Insert-Befehl so wie so nicht bestimmen welche Sichtbarkeit genutzt werden soll, es wird immer die Vorgabesichtbarkeit genutzt. Also wären hier ganz anderen Wege sinnvoll nehme ich an. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 10. Sep. 2013 10:29 <-- editieren / zitieren --> Unities abgeben: Nur für gerhard123
Zitat: Du hast EINE Prozentangabe, wieso willst du dann ZWEI Attribute nutzen, da reicht doch dann ein Attribut oder nicht ?
2 Attribute, weil wie im Bild ein Attribut das Gefälle nach recht und das zweite das Gefälle nach links anzeigt. Tja vllt wäre es ja ein Vorschlag an Autodesk, bei der Abfrage eines Wblocks auch die dynamischen Parameter mit abzufragen, würde Sinn machen. Ich musste es jetzt so lösen, die 2 Attribute aufeinander abzugleichen, so das in beiden Einträgen der gleiche Wert steht. ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |