| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Blöcke umwandeln 2D > 3D (4383 mal gelesen)
|
Domo91 Mitglied Technische Zeichnerin
Beiträge: 5 Registriert: 30.08.2012 AutoCAD Architecture 2012
|
erstellt am: 28. Feb. 2014 10:06 <-- editieren / zitieren --> Unities abgeben:
Hallo! Bisher bin ich mit der Suche bei meinem Problem nie erfolgreich gewesen, jetzt versuch ichs so mal: Ich zeichne die Einrichtung von Laboratorien und das in AutoCAD Architecture 2012. Wir haben für alle Möbel die wir brauchen ein 3D Objekt erstellt, in welchen sich auch immer die 2D Ansicht befindet. Sie werden via Einfügen>Block in die Zeichnung gebracht. Nun ist es aber so, das wir, wenn wir unsere Zeichnungen an den Architekten schicken, ihm nicht unsere 3D Körper aushändigen wollen > das hat zur Folge das man alle Blöcke sprengen muss und die Volumenkörper dann löscht. Jetzt wollen wir am liebsten, dass man z.B. in 2D mit Blöcken zeichnet, diese aber einfach und schnell in 3D umwandeln kann, ohne das wir zum Verschicken erst alles auflösen müssen. Im Anhang mal ein Bild von einem Tisch, das Rechteck auf dem Boden ist der 2D Layer, zum Plotten wird der 3D Layer aus- oder eingeblendet. Die Kugel ist der Einfügepunkt und liegt auf Deftpoints. VG Sylvie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bbernd Ehrenmitglied Technischer Zeichner / Zimmerermeister
Beiträge: 1621 Registriert: 20.02.2009 AutoCAD 2021, 2023 nanoCAD 5 Gimp 2.10 Windows10 64bit 64 GB Arbeitsspeicher NVIDIA RTX A4000
|
erstellt am: 28. Feb. 2014 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
|
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 28. Feb. 2014 10:40 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
Ansonsten, wenn man den Ansatz von Domo91 weiterverfolgen möchte: Einmal eine Bibliothek an Blöcken welche den normalen Aufbau haben (wie jetzt) und parallel dazu eine Bibliothek mit den gleichen Blöcken(Blocknamen), welche aber nur die 2D Kontur enthält. Die 2D Biblio kann man schnell und einfach aus den Originalblöcken ge´nereieren (keine Handarbeit) und das austauschen bekommt man auch ganz einfach hin. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5898 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 28. Feb. 2014 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
Hallo Sylvie, du bist hier fast im richtigen Forum. Hier ist es richtiger . Es gibt ein tolles, mächtiges Werkzeug in ACA. Der MV-Block. MV für Multiview. In diesem Objekt werden alle Ansichten zusammengesetzt. Beim Export kannst du dann die Blöcke platt machen. Du hast in deiner Software einen Katalog-Browser, Strg. + 4. Da sind Möbel drin, schaue es dir mal an. Lothar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Domo91 Mitglied Technische Zeichnerin
Beiträge: 5 Registriert: 30.08.2012 AutoCAD Architecture 2012
|
erstellt am: 28. Feb. 2014 10:46 <-- editieren / zitieren --> Unities abgeben:
Danke Bernd! Allerdings habe ich dann das Problem, das zwar die 3D Objekte flach sind, aber der 2D Layer nicht da ist. Im Prinzip bräuchte ich vllt einen Befehl, der die Volumenkörper einfach entfernt. Im Anhang mal ein Waschtisch, im 2D sind die Flügeltüren aufgeklappt zu sehn, was fehlt, wenn man den Befehl ABFLACH anwendet. Ach ja, die Volumenkörper liegen auf extra Layern um sie einfach ein- und auszublenden, z.B. 474_3D_Korpus und das 2D auf 474_2D EDIT @cadffm, das mit der Biblio klingt schon eher danach, den Aufwand mit dem Blöcken ist erstmal egal, hauptsache es geht mit dem Austauschen einfach^^ @kramer24, da muss ich mich mal reinfitzen^^ gibt es evtl i.wo eine Beschreibung wie man damit umgeht? ...der Katalog-Browser ist bei mir allerdings leer [Diese Nachricht wurde von Domo91 am 28. Feb. 2014 editiert.]
[Diese Nachricht wurde von Domo91 am 28. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bbernd Ehrenmitglied Technischer Zeichner / Zimmerermeister
Beiträge: 1621 Registriert: 20.02.2009 AutoCAD 2021, 2023 nanoCAD 5 Gimp 2.10 Windows10 64bit 64 GB Arbeitsspeicher NVIDIA RTX A4000
|
erstellt am: 28. Feb. 2014 11:00 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
|
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5898 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 28. Feb. 2014 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
|
Domo91 Mitglied Technische Zeichnerin
Beiträge: 5 Registriert: 30.08.2012 AutoCAD Architecture 2012
|
erstellt am: 28. Feb. 2014 11:24 <-- editieren / zitieren --> Unities abgeben:
Flatten macht entweder nix, oder löscht alles Aber liegt alles auf Z=0 @Kramer24: reinfitzen ist sich damit auseinander zu setzen^^ also sozusagen ein Fitz aus Haaren (das komplizierte Thema) entwirren um es zu verstehen xD ist wohl ein sächsisches Wort [Diese Nachricht wurde von Domo91 am 28. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rexxitall Mitglied Dipl. -Ing. Bau
Beiträge: 270 Registriert: 07.06.2013
|
erstellt am: 28. Feb. 2014 12:35 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
Hi ein alternativer ansatz mit vba sofern die blocknamen eine eindeutige markierung aufweisen, ich habe hier mal die Zeichenkette "_3D" vorausgesetzt werden mit nachfolgender routine alle blockreferenzen und anschließend auch die blockdefinitionen gehimmelt. Der umgekehrte Weg ist auch machbar sofern die Blockbibliothek organisiert aufgebaut ist. Hierzu ist allerdings etwas mehr aufwand vonnöten da die höheninformation den 2d blöcken in einer geeigneten form mitgegeben werden muss. Dann kann man auf knopfdruck sozusagen von 2d zu 3d wechseln und der Architek kann sogar ändern... (in 2d) mfg Thomas Sub block_references_delete_all_3d Dim entity As AcadEntity on error resume next
For Each entity In ThisDrawing.modelspace If LCASE(entity.ObjectName) = "acdbblockreference" Then If instr(entity.EffectiveName,"_3D") Then entity.Delete End If End If Next entity For Each entity In ThisDrawing.PaperSpace If LCASE(entity.ObjectName) = "acdbblockreference" Then If instr(entity.EffectiveName,"_3D") Then entity.Delete End If End If Next entity thisdrawing.purgeall On Error GoTo 0 End Sub
------------------ Wer es nicht versucht, hat schon verlorn Und bei 3 Typos gibts den vierten gratis ! <<< for sale ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 28. Feb. 2014 12:38 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
@Rexxi Erkläre doch noch wie die Blöcke/die Datei aufgebaut sein müssen damit dieser Kot Sinn ergibt (das kann nicht jeder herauslesen). Zudem bitte noch ein Link zu einer Anleitung was mit den Zeilen geschehen soll, denn du spamst nach wie vor ein Anwenderforum zu, das Programmierforum ist nebenan, danke. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Domo91 Mitglied Technische Zeichnerin
Beiträge: 5 Registriert: 30.08.2012 AutoCAD Architecture 2012
|
erstellt am: 28. Feb. 2014 13:49 <-- editieren / zitieren --> Unities abgeben:
Ja also eine Erklärung fänd ich nicht schlecht dazu^^ Außer das man glaube );_end of if einsetzen muss, weiß ich jetzt auch nicht. So eine Routine wär natürlich ideal, aber ich kämpf wohl erstmal mit dem Erstellen einer Bibliothek. Bei den MV-Blöcken gerate ich schon beim Erstellen an meine Grenzen, da ich den Stil-Manager wohl nicht habe -.-' Danke aber für die Antworten! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1458 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 28. Feb. 2014 13:51 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
Hallo Sylvie, im ACAD gibt's den Befehl laylösch bzw. _laydel. Ich weis nicht obs den in Architecture 2012 auch gibt, aber ein Script dass dir die 3D-Layer rauslöscht und dann wegbereinigt sollte nicht so schwierig sein. Mehr macht du ja zu Fuß auch nicht. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rexxitall Mitglied Dipl. -Ing. Bau
Beiträge: 270 Registriert: 07.06.2013
|
erstellt am: 28. Feb. 2014 17:39 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
Vielen dank für die freundliche Antwort 1. VBA how to use Anleitungen MIT bildern gibt es zuhauf im Netz. 2. Wenn hier wer lispelt ists aber ok hier oder ? (gehört dann aber auch ins Programmiererforum) So kurz Gebrauchsanleitung Alt F11 (bei installiertem VBA) links guggen rechte maustaste modul einfügen copy und paste code entweder makro ausführen oder im code einmal links reinklicken und mit f5 starten. Die Blöcke müssen in dem Fall im BLOCKNAMEN irgendwo die Zeichenkette _3D aufweisen. (Klappt auch bei dynamischen Blöcken) Tisch_3D Stuhl_3D_klein Der Layer auf dem die liegen ist hierbei egal. Ferner werden auch die Blockdefinitioenen entfernt um reverse engineering vorzubeugen Thomas ------------------ Wer es nicht versucht, hat schon verlorn Und bei 3 Typos gibts den vierten gratis ! <<< for sale ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 28. Feb. 2014 18:52 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
1. Ich weiß, andere nicht 2. Wie bereits öfters angesprochen wurde: Ob vb/a/net oder Lisp ist unerheblich, es geht darum WEM man das ( vermutlich ) postet. ( klar kann man mal daneben liegen, aber wenn du mal eine Nachlese betreibst..) Dein Code hier würde dem armen User zunächst "alles was er hat" löschen, denn derzeit gibt es ja nur einen Block mit beiden Informationen, es gibt keine zwei übereinanderliegende Blöcke wovon einer gelöscht werden soll. So ein Zeichnungsaufbau wäre ja auch nicht praktikabel, aber darum ging es mir ja auch nicht. Eine 3D Referenz in seiner normalen Blockdef wäre schon besser, aber so ein Konstrukt müßte man ja auch erst mal erklären. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rexxitall Mitglied Dipl. -Ing. Bau
Beiträge: 270 Registriert: 07.06.2013
|
erstellt am: 01. Mrz. 2014 16:02 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
Er löscht nur blöcke die im Namen "_3D" haben. Natürlich kann man anstelle des Zeichnungsbereiches auch durch alle Blockdefinitionen hecheln und dort die Referenzen so löschen. Aber das dürfte ein Profi ja wissen. Und praktikabel ist soetwas durchaus. Entweder per script vorher die 2d oder 3d blöcke automatisch einladen an den Einfügepunkten und dann löschen. Oder Blöcke erstellen die beide Informationen enthalten Block im Block und die dann einmal vor scriptlauf explodieren. Da fallen mir Unmengen an Ansätzen ein. Und es sollte auch selbstverständlich sein das der "arme" User alles was wir hier so von uns geben nicht an einer Zeichnung testet die in 5 Minuten zum Kunden raus mus sondern an einer Kopie. Vielleicht warten wir einfach mal ab was der Threadersteller so als Zusatzinfo so von sicht gibt bevor man sich hier in Grabenkämpfen verstrickt. Der Ansatz Blöcke dynamisch auszutauschen hat wie schon vorher beschrieben ja auch den charmanten Vorteil das der Architekt an den 2d Blöcken rumstricken kann und man somit ja auch in der Lage wäre die 3d Version zu aktualisieren indem man einfach diese Bläcke gegen die 3D Pedants austauscht. Aber warten wir mal ab was der Threadersteller dazu so meint ------------------ Wer es nicht versucht, hat schon verlorn Und bei 3 Typos gibts den vierten gratis ! <<< for sale ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Domo91 Mitglied Technische Zeichnerin
Beiträge: 5 Registriert: 30.08.2012 AutoCAD Architecture 2012
|
erstellt am: 03. Mrz. 2014 08:24 <-- editieren / zitieren --> Unities abgeben:
|
rexxitall Mitglied Dipl. -Ing. Bau
Beiträge: 270 Registriert: 07.06.2013
|
erstellt am: 03. Mrz. 2014 14:31 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
Nur der Vollständigkeit halber Sub block_references_delete_all_3d dim NEEDLE as string NEEDLE="_3D" Dim entity As AcadEntity on error resume next For Each entity In ThisDrawing.modelspace If LCASE(entity.ObjectName) = "acdbblockreference" Then If instr(ucase(entity.Layer),NEEDLE)>0 Then entity.Delete End If End If Next entity thisdrawing.purgeall end sub Danach sind alle Blockreferenzen und Definitionen auf alle Layern die im LAYERnamen _3d oder "_3D" enthalten gelöscht Kann man in Zeile 3 ändern bei NEEDLE="_3D" dort zwischen die "" entsprechenden Suchtext angeben. ------------------ Wer es nicht versucht, hat schon verlorn Und bei 3 Typos gibts den vierten gratis ! <<< for sale ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13529 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 03. Mrz. 2014 15:11 <-- editieren / zitieren --> Unities abgeben: Nur für Domo91
|