| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Polylinie innerhalb eines Blockes (1742 mal gelesen)
|
silcono Mitglied Planer
Beiträge: 88 Registriert: 19.12.2014
|
erstellt am: 05. Nov. 2015 13:53 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, folgende Sachlage: Ich habe mehrere Blöcke mit einem Attributwert (Durchmesser). Jeder Block besteht aus einer Polylinie. Jetzt würde ich gerne diese Polylinien, entsprechend dem Attributwert, mit der globalen Breite ausprägen. Die Vorgehensweise für einen einzelnen Block ist klar: Block im Blockeditor öffnen, Polylinie auswählen, globale Breite eintragen. Aber wie kann ich vorgehen, wenn ich nun mehrere Blöcke habe? Grundkenntnisse im Lispeln sind vorhanden. Im Voraus besten Dank für Ansätze und Anregungen! Grüße und einen schönen Tag noch silcono Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 05. Nov. 2015 14:31 <-- editieren / zitieren --> Unities abgeben: Nur für silcono
Zitat: Original erstellt von silcono:
Die Vorgehensweise für einen einzelnen Block ist klar:
Hallo silcono, Ganz so klar ist das für mich nicht. Was Du da als globale Breite in der Blockdefinition einträgst ist irgend ein beliebiger Wert und hat mit dem evtl. vorher oder hinterher zugewiesenen Attributwert überhaupt nichts zu tun. Auch ist mir nicht ganz klar, ob Du nun von einer Blockdefinition sprichst und die verschiedenen Blockreferenzen sollen mit unterschiedlicher PL-Breite abgebildet werden oder ob wirklich mehrere Blöcke (Blockdefinitionen) gegeben sind? Ich vermute ersteres: Du möchtest an verschiedenen Blockreferenzen über den Wert eines Attributs die Breite einer Polylinie steuern? Auch wenn ich da noch keinen Lösungsansatz sehe, würde ich gern erst wissen wollen, ob ich Deine Frage überhaupt richtig interpretiert habe. Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 05. Nov. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 06. Nov. 2015 09:15 <-- editieren / zitieren --> Unities abgeben: Nur für silcono
Hallo silcono, die Struktur eines Zeichnungsaufbaus lässt dein Vorgehen nicht zu. Ein Attributwert ist das einzige veränderliche Element einer Blockreferenz. Die anderen Geometrieelemente werden so angezeigt, wie diese in der Blockdefinition angelegt wurden. Versuchen kannst du -> Linienstärke der Polyline = ByBlock .. dann kannst du die Linienstärke in der Blockreferenz ändern. Für einen sichtbaren Effekt musst da dann die Anzeige der Linienstärken aktivieren. Alternativ gäbe es noch die Möglichkeit mit einer .Net-Programmierung. Dort kann man die Anzeige der Objekte überladen .. soll heißen. für jede Blockreferenz kann man in Abhängigkeit des Attributwertes irgendwelche andere Geometrie am Bildschirm anzeigen .. bei dir dann eine zusätzliche Polylinie, deren Lage identisch mit der aus der Blockdefinition ist, in der entsprechenden Breite anzeigen. Allerdings funktioniert dass dann nur dort, wo auch das Programm installiert ist. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
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: 06. Nov. 2015 09:18 <-- editieren / zitieren --> Unities abgeben: Nur für silcono
|
silcono Mitglied Planer
Beiträge: 88 Registriert: 19.12.2014
|
erstellt am: 09. Nov. 2015 09:04 <-- editieren / zitieren --> Unities abgeben:
Erstmal vielen Dank für die Rückmeldungen. @jupa: Die Vorgehensweise für einen einzelnen Block wäre: Attributwert merken, Blockeditor öffnen, Pline Globale Breite eingeben. Das wäre der natürliche Weg, das meinte ich damit Es sind mehrere Blöcke und je Block, gibt es eine Pline. @Brischke: Wäre es nicht auch eine Möglichkeit, das ich mir den Wert(Dimension) aus dem Block raussuche, merke (setq) und dann den Block bearbeite? @caffm: Richtig, je nach Form, in dem Fall sind unterschiedliche Formen Also leider nicht möglich mit dyn. Blöcken. Grüß silcono Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 09. Nov. 2015 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für silcono
Hallo silcono, Zitat:
Ich habe mehrere Blöcke mit einem Attributwert (Durchmesser). ... entsprechend dem Attributwert, mit der globalen Breite ausprägen ... Attributwert merken, Blockeditor öffnen, Pline Globale Breite eingeben ... Es sind mehrere Blöcke
m. E. funktioniert das Ganze (abgesehen von der von Holger genannten Programmierung) nur dann, so wie Du Dir das vorstellst, wenn Du für jede Breite der Polylinie eine eigene Blockdefinition erstellst (also z. B. Block_05 für Breite 0,5 Block_10 für Breite 1,0 usw.) Dann brauchst Du aber den Wert (Durchmeser) auch nicht mehr als Attribut anlagen, sondern kannst ihn gleich als festen Text in die Blockdefinition aufnehmen.
Willst Du aber eine Blockdefinition haben und dann viele Blockreferenzen mit unterschiedlichen Durchmessern wie angegeben als Attribut setzen, dann funktioniert Dein Plan m. E. nicht. Weil, jedesmal wenn Du im Blockeditor die Blockdefinition änderst (andere Breite der Polylinie), dann ändert sich diese in allen schon vorhandenen Blockreferenzen mit. Aber vielleicht verstehe ich Deine Vorgehensweise auch noch nicht richtig. Stell doch einfach mal eine Beispielzeichnug mit ein paar Blöcken und Referenzen hier rein. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 09. Nov. 2015 11:09 <-- editieren / zitieren --> Unities abgeben: Nur für silcono
Zitat: Original erstellt von silcono:
Die Vorgehensweise für einen einzelnen Block wäre: Attributwert merken, Blockeditor öffnen, Pline Globale Breite eingeben. Das wäre der natürliche Weg,
Das erscheint mir irgendwie von hinten durch die Brust ins Auge geschossen. Wenn ich Dich richtig verstehe würde das praktisch so funktionieren: Du hast von einem Block mehrere Blockreferenzen eingefügt. Wenn Du nun an einer beliebigen dieser Blockreferenzen den Attributwert änderst, soll die Blockdefinition (automatisch) geändert werden und somit auch alle vorhandenen (und zukünftigen) Blockreferenzen - bis irgendwann mal wieder der Attributwert an einer der Referenzen geändert wird. Ist es das was Du vorhast? Was willst Du damit eigentlich bezwecken? Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 09. Nov. 2015 editiert.] [Diese Nachricht wurde von jupa am 09. Nov. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
silcono Mitglied Planer
Beiträge: 88 Registriert: 19.12.2014
|
erstellt am: 09. Nov. 2015 11:19 <-- editieren / zitieren --> Unities abgeben:
@jupa der Attributwert wird nie geändert, dieser bleibt fest. Um etwas genauer zu werden: Ich bekomme eine Datei, darin enthalten sind Blöcke, mit jeweils dem Attributwert (Dimension) und im Block enthalten ist eine Polylinie. Diese Datei will ich so bearbeiten, dass die Polylinien mit einer globalen Breite dargestellt werden (in Bezug auf den Attributwert). Bei dieser Bearbeitung, ist es auch egal ob die Blöcke aufgelöst werden. Ich brauche am Ende nur die Polylinien mit entsprechender Breite. Hab wohl am Anfang, ein bissen zu wenig Informationen mitgeliefert. Sorry Grüße silcono Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 09. Nov. 2015 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für silcono
Zitat: Original erstellt von silcono:
... eine Datei, darin enthalten sind Blöcke, mit jeweils dem Attributwert (Dimension) . ... der Attributwert wird nie geändert, dieser bleibt fest.
Sind das nun mehrere Blockreferenzen einer Blockdefiniton mit unterschiedlich belegtem Attribut, oder gehört zu jedem Attributwert eine eigene Blockdefinition? (Warum dann aber Attribute) Ich zitiere mich mal selbst Zitat: Stell doch einfach mal eine Beispielzeichnug mit ein paar Blöcken (Blockdefinitionen) und Referenzen hier rein.
Die Gefahr hier aneinander vorbeizudenken und zu -reden wird damit erheblich reduziert. Gruß Thomas [Diese Nachricht wurde von spider_dd am 09. Nov. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
silcono Mitglied Planer
Beiträge: 88 Registriert: 19.12.2014
|
erstellt am: 09. Nov. 2015 12:04 <-- editieren / zitieren --> Unities abgeben:
|
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 09. Nov. 2015 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für silcono
Hallo silconno, Danke für die Datei, damit wird doch einiges klar. Jede Blockeferenz hat eine eigene Definition. Und mit der Aussage, dass die Blöcke auch aufgelöst werden können, würde ich wie folgt vorgehen. - alle Blöcke auswählen - durch den Auswahlsatz hecheln: - aktuellen Block: Wert Dimension ermitteln - Block sprengen - letztes Element einsammeln und globale Breite setzen - Datei bereinigen Und nun ab damit in's Lisp-Brett :-) ps. Du kannst beim nächsten Mal die dwg direkt hochladen odern Umbenennung in .txt. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
silcono Mitglied Planer
Beiträge: 88 Registriert: 19.12.2014
|
erstellt am: 09. Nov. 2015 13:33 <-- editieren / zitieren --> Unities abgeben:
|