| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Blockeinheit umstellen - keine > Millimeter (2010 / mal gelesen)
|
MB-fab Mitglied Techniker - Elektrotechnik
Beiträge: 34 Registriert: 18.10.2016 Autocad 2016, MEP 2016, PIT 2016, MS V8i
|
erstellt am: 19. Dez. 2018 10:16 <-- editieren / zitieren --> Unities abgeben:
Liebe Community, ich habe folgendes Problem. In meiner Bibliothek sind alle Blöcke für Millimeter erstellt und bei den meisten Blöcken wurde im Blockeditor auch die Blockeinheit ordentlich angegeben. Jetzt kommt das Problem, dass in manchen die Blockeinheit noch auf 'keine' steht und ich möchte gerne diese auf Millimeter umstellen. Hier würde ich euch gerne Frage, ob es nicht eine VLX gibt die das Problem löst, ohne jeden Block von Hand zu Fuß zu öffnen und die Einheit zu definieren. Bei meiner Recherche im Forum bin ich zwar auf Code-Schnipsel gestoßen, aber leider reich mein Wissen nicht aus um diese zu verwenden. ------------------------------------------ (vl-load-com) (vlax-for x (vla-get-Blocks (vla-get-activedocument (vlax-get-acad-object))) (vlax-put-property 4 "Units" 0)) ------------------------------------------ Vielleicht kann mir einer weiterhelfen!? Viele Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 19. Dez. 2018 11:12 <-- editieren / zitieren --> Unities abgeben: Nur für MB-fab
Könnte man so machen... Code: (vl-load-com) (vlax-for x(vla-get-Blocks(vla-get-activedocument(vlax-get-acad-object))) (if(and (= (vla-get-islayout x) :vlax-false) (= (vla-get-isxref X) :vlax-false) (>(vla-get-count x)0) (vlax-property-available-p x 'UNITS) ) (not(vl-catch-all-error-p (vl-catch-all-apply 'vlax-put-property (list x 'UNITS 0)))) ) )
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MB-fab Mitglied Techniker - Elektrotechnik
Beiträge: 34 Registriert: 18.10.2016 Autocad 2016, MEP 2016, PIT 2016, MS V8i
|
erstellt am: 19. Dez. 2018 11:50 <-- editieren / zitieren --> Unities abgeben:
Hallo CADwiesel, muss ich im Code die 'x' ersetzen durch die ausgangs Einheit? Code:
(vl-load-com) (vlax-for 0(vla-get-Blocks(vla-get-activedocument(vlax-get-acad-object))) (if(and (= (vla-get-islayout 0) :vlax-false) (= (vla-get-isxref 0) :vlax-false) (>(vla-get-count 0)0) (vlax-property-available-p x 'UNITS) ) (not(vl-catch-all-error-p (vl-catch-all-apply 'vlax-put-property (list 0 'UNITS 4)))) ) )
Im Moment wir nichts umgestellt. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 19. Dez. 2018 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für MB-fab
|
MB-fab Mitglied Techniker - Elektrotechnik
Beiträge: 34 Registriert: 18.10.2016 Autocad 2016, MEP 2016, PIT 2016, MS V8i
|
erstellt am: 19. Dez. 2018 14:40 <-- editieren / zitieren --> Unities abgeben:
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 19. Dez. 2018 16:39 <-- editieren / zitieren --> Unities abgeben: Nur für MB-fab
also... der codeschnipsel geht durch alle Blockdefinitionen, die in einer Zeichnung enthalten sind und ändert deren Einheiten. Wenn du nun ein Verzeichnis mit vielen Zeichnungen hast, die je einen Block darstellen, musst du ein anderes Verfahren wählen. Dann muss jede Zeichnung geöffnet und die Systemvariablen für INSUNITS, INSUNITSDEFSOURCE uns INSUNITSDEFTARGET entsprechend eingestellt werden . Dies geht am Besten mit einem script, welches du über die Zeichnunen laufen lasst. Scriptgenerator (SCC2) findest du auf meiner Webseite ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MB-fab Mitglied Techniker - Elektrotechnik
Beiträge: 34 Registriert: 18.10.2016 Autocad 2016, MEP 2016, PIT 2016, MS V8i
|
erstellt am: 19. Dez. 2018 18:01 <-- editieren / zitieren --> Unities abgeben:
Für mich wäre vollkommen OK wenn ich es pro Zeichnung muss. Aber mein 'Problem' mit dem Codeschnipsel ist, dass es nicht die Blockdefinition ändert. Die Blockeinheit ist nach dem ausführen der vlx noch auf 'keine Einheit' gestellt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Entsorger01 Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 3263 Registriert: 07.07.2006 ACAD 2006 ACAD 2008 - SP1 VPstudio (Raster) Acrobat 7.0 Prof. Acrobat Distiller Photoshop CS2 Nvidia Quadro FX1400 Win 2000 Prof.
|
erstellt am: 20. Dez. 2018 06:43 <-- editieren / zitieren --> Unities abgeben: Nur für MB-fab
Ich denke, dass es sich hier um ein Mißverständnis handelt. Der Code vom Wiesel ändert schon die Blockeinheit(en). Allerdings nicht auf Wert 4 für Millimeter (wie gewünscht), sondern alle, egal welche Ausgangswerte die Blockeinheiten haben, auf Wert 0 für keine Einheit. Da muss er wohl nochmal nachbessern ------------------ Gruß Michi ""Mögen hätt ich schon wollen, aber dürfen hab ich mich nicht getraut." Karl Valentin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 20. Dez. 2018 09:10 <-- editieren / zitieren --> Unities abgeben: Nur für MB-fab
|
| Projektingenieur / Projektentwickler / Projektleiter Windenergie (w/m/d) | Nur wenn Ökologie und Ökonomie gemeinsam betrachtet werden, können Forschung und Innovation sowohl der Umwelt als auch der Wirtschaft dienen. Unser Unternehmen, die ÖKOTEC Windenergie GmbH mit Sitz in Berlin, ist Dienstleister im Bereich Projektentwicklung für Windenergiestandorte. Darüber hinaus bieten wir auch Planungsunterstützung im Bereich PV-Freiflächenanlagen an. Unser Leistungsspektrum umfasst ... | Anzeige ansehen | Business Development |
|
MB-fab Mitglied Techniker - Elektrotechnik
Beiträge: 34 Registriert: 18.10.2016 Autocad 2016, MEP 2016, PIT 2016, MS V8i
|
erstellt am: 20. Dez. 2018 13:14 <-- editieren / zitieren --> Unities abgeben:
Ach ja, ihr seit die Besten! Gut hätte ich auch mal sehen können. Klar das man irgendwo die Weisung geben muss welche Einheit denn eingestellt werden muss. Hatte noch das Problem, dass ich den Code in eine VLX-Datei gesteckt habe!! Nicht richtig LSP-Datei!! Für die, die nur das Ende lesen! BlockUnits_Millimeter.lsp
Code:
(vl-load-com) (vlax-for x(vla-get-Blocks(vla-get-activedocument(vlax-get-acad-object))) (if(and (= (vla-get-islayout x) :vlax-false) (= (vla-get-isxref x) :vlax-false) (>(vla-get-count x)0) (vlax-property-available-p x 'UNITS) ) (not(vl-catch-all-error-p (vl-catch-all-apply 'vlax-put-property (list x 'UNITS 4)))) ) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |