| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Flexibler Übergang in die SAP Cloud - Brückenschlag für CAD und ERP, eine Pressemitteilung
|
Autor
|
Thema: Layerzuordnung für der idw (7582 mal gelesen)
|
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 21. Nov. 2012 22:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, ich habe bemerkt, dass Bauteile die man als "Referenz" in der Stückliste definiert hat, in der idw einem entsprechendem Layer zugeordnet werden. Kann man das für "gekauft" oder "phantom" auch einrichten? Oder kann man Materialien( wie bei der Schraffur) Layer und somit Farben und Strichstärken zuordnen? Wie geht man vor im Inventor, wenn man wie bei AutoCad Farben dem Linienstile benutzerdefiniert zuordnen möchte? Grüße
------------------ Oli Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
muellc Ehrenmitglied V.I.P. h.c. ICT Specialist

 Beiträge: 3501 Registriert: 30.11.2006 Inventor 2017.4.12 64 bit Windows 10 Enterprise 64 bit 3DEXPERIENCE R2016x -------------------- HP Z-Book 15 G4 32 Gig Ram NVIDIA Quadro M2200 2x HP E243i
|
erstellt am: 22. Nov. 2012 06:42 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
|
freierfall Ehrenmitglied V.I.P. h.c. Techniker

 Beiträge: 11582 Registriert: 30.04.2004 WIN10 64bit, 32GB RAM IV bis 2022
|
erstellt am: 22. Nov. 2012 07:04 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
|
nightsta1k3r Ehrenmitglied V.I.P. h.c. plaudern

 Beiträge: 11279 Registriert: 25.02.2004 Hier könnte ihre Werbung stehen!
|
erstellt am: 22. Nov. 2012 08:02 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
Zitat: Original erstellt von ovb: Kann man das für "gekauft" oder "phantom" auch einrichten?
Nicht automatisch. Aber du kannst ganze Bauteile über die Pickfilter auf benutzerdefinierte Layer setzen. zu Linienstilen: F1 ------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 22. Nov. 2012 08:34 <-- editieren / zitieren --> Unities abgeben:         
Danke für die Antworten. Heißt aber, man kann nur durch Nacharbeit der erstellten Zeichnungs-Schnitte jeden einzelnen Schnitt sich vornehmen und durch Handarbeit die Bauteilkanten (im Browser,Part auswählen,rechte Maus,Kanten wählen) auf benutzerdef. Layer legen Stört mich nur die Vorstellung, oder ist das was für 2014? Grüße ------------------ Oli [Diese Nachricht wurde von ovb am 22. Nov. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nightsta1k3r Ehrenmitglied V.I.P. h.c. plaudern

 Beiträge: 11279 Registriert: 25.02.2004 Hier könnte ihre Werbung stehen!
|
erstellt am: 22. Nov. 2012 08:45 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
Zitat: Original erstellt von ovb: oder ist das was für 2014?
Nein, für 2014 ist die Tür schon zu, für 2015 am Schließen. Aber wenn du eine genügend hohe Lizenzanzahl dahinterstellst, hast du eine Chance ab 2016. ------------------
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 22. Nov. 2012 09:42 <-- editieren / zitieren --> Unities abgeben:         
Hat jemand mit VBA schon mal eine Routine für diesen Zweck geschrieben? z.B. wie bei der Materialzugeordneten Schraffur ein Materialzugeordneter Layer für die idw. Ich gebe so ungern auf Grüße ------------------ Oli Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 12. Jan. 2013 18:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo nochmal, es geht mir immer noch um die Layerverwaltung wenn man eine große Zeichnung mit 20 Schnitten erstellt hat und alle "Einkauf Artikel" farblich absetzen möchte, dann heißt das, dass man in jedem Schnitt die Bauteile auswählen muss, über rechte Maus "Auswahl als Kanten", und dann dem gewünschten Layer zuordnen muss???? Geht das denn wirklich nicht schneller??
------------------ Oli Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nightsta1k3r Ehrenmitglied V.I.P. h.c. plaudern

 Beiträge: 11279 Registriert: 25.02.2004 Hier könnte ihre Werbung stehen!
|
erstellt am: 12. Jan. 2013 19:40 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
Zitat: Original erstellt von ovb: Geht das denn wirklich nicht schneller??
Doch, per Makro mit einem einfachen Knopfdruck. Aber in dem dem mußt du vorher definieren, welches Bauteil auf welchen Layer soll und diesen auch anlegen. Herr, laß es doch mal Hirn regnen
------------------
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SKYSURFER Mitglied Maschinenbautechniker
 
 Beiträge: 361 Registriert: 27.08.2004 office: Dell T3500: Xeon W3670 3,2GHz Samsung SSD 256GB Sata: 500GB FX4000 - 2GB IV 2012 SP2 Update3 Vault 2012 SP2
|
erstellt am: 12. Jan. 2013 19:50 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
|
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 12. Jan. 2013 19:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo nightsta1k3r, wenn das doch alles so einfach ist dann hät ich gern das Makro. Layer ist angelegt...heißt "gekauft" und Bauteile sind Definiert durch "Gekauft" ------------------ Oli [Diese Nachricht wurde von ovb am 12. Jan. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Doc Snyder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
       

 Beiträge: 13435 Registriert: 02.04.2004 IV 2024
|
erstellt am: 12. Jan. 2013 21:32 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
|
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 13. Jan. 2013 00:17 <-- editieren / zitieren --> Unities abgeben:         
Die Layer sollten wie der Normteil Layer funktionieren. Dadurch kann man aber mit verschiedenen Linienstärken und Farben eine Zeichnung aufbauen. Ist für meinen Bereich als Schreiner sinnig, da die Lesbarkeit und Übersichtlichkeit gesteigert werden kann. So stell ich z.B. Mauerwerk mit einer dickeren Linienstärke dar, wie gesagt gekaufte Beschläge in rot und feiner Linienstärke, Glas in blau... Trotzdem sollte natürlich das Material in geschnittener Darstellung mit Schraffur sein. ------------------ Oli Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Doc Snyder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
       

 Beiträge: 13435 Registriert: 02.04.2004 IV 2024
|
erstellt am: 13. Jan. 2013 00:40 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
Zitat: Original erstellt von ovb: ...gekaufte Beschläge in rot und feiner Linienstärke, Glas in blau...
Ich weiß ja nicht, wie es in Deiner Werkstatt zugeht, aber in den Werkstätten, die ich kenne, gibt es Dreck und Feuchtigkeit und Öl und hier mal hartes UV-Licht oder einfach helles Sonnenlicht und da mal zu wenig Licht und gelegentlich farbenblinde Personen obendrein. Zeichnungen, in denen die Farben eine Bedeutung haben, halte ich da für nicht so sinnvoll. Und über Tintenstrahldruck müssen wir hoffentlich gar nicht erst nicht diskutieren. ------------------ Roland www.Das-Entwicklungsbuero.de It's not the hammer - it's the way you hit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 13. Jan. 2013 10:41 <-- editieren / zitieren --> Unities abgeben:         
Moin, ich mache Arbeitsvorbereitung für Schreinereien. Schreiner haben es mit Holz zu tun, welches beim zuschneiden, fräsen oder hobeln über Absauganlagen einen staub- und schmierfreien Arbeitsplatz hinterlassen. Da es auch beim Schreiner um Millimeter geht sind die Kollegen auch nicht blind, noch farbenblind. Im Handwerk ist es auch oft üblich, dass ein Geselle sich um ein ganzes Objekt kümmert und nicht nur eine Maschine bedient. Somit ist eine Übergeordnete Zeichnung mit allen Schnitten sinnvoll und (ich will ja nicht eingefahren wirken) seit 18 Jahren gewünscht. Anregungen bestimmte Bereiche oder Bauteile farblich abzusetzen kamen von den Schreinereien und wurden von mir dann in MDT  umgesetzt. Ich habe mal eine Zeichnung aus MDT  als Bild beigefügt. Die Zeichnungen sind für die Werkstatt und vorher auch für den Kunden. Meine Arbeit soll die Vorstellungkraft des Kunden verbessern und anschließend der Werkstatt dienen. Der Zeitaufwand sollte aber nicht mehr als 5-6 Std betragen. Dies ist mir mit MDT  gelungen. Die Schreinerprogramme sind mir Größtenteils zu eingeschränkt von Ihrer konstruktiven Flexibilität und auch die Parametrie von MDT  hatte es mir angetan, so dass es mich nun zum Inventor geführt hat. Als größtes Problem vom IV sehe ich diesen gewünschten Zwang zur Maschinenbau - Norm. Gibt es zwar bei uns Schreinern auch, aber wird nicht so aufgezwungen. Das "Problem" gab es auch bei MDT  noch nicht. Ich hoffe, dass ich meinen Standpunkt erklären konnte und keine Rückfragen mehr bekomme warum ich etwas erreichen möchte. Ich bin kein Maschbauer und bei mir macht das Sinn. In der Hoffnung erfahrene IV- User können dem Neuling weiterhelfen ------------------ Oli Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
      

 Beiträge: 2617 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 13. Jan. 2013 11:53 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
Moin Ich kenne die farbliche Darstellung im Holzbau für z.B. Umleimer, die sich sonst nur mit unverhältnismäßig hohem Aufwand konstruktiv darstellen lassen. Brian Ekins von Autodesk hat mal ein Makro für das Einfärben von Bauteilen entsprechend der Bauteilfarbe im 3D-Modell veröffentlicht. Ich hab den ein bißchen umgefrickelt, so daß er auf deine Anforderungen passen sollte. Bitte beachten, ändert man die Bauteile von Phantom oder Gekauft zurück auf Normal, ändert das Makro den Layer nicht zurück auf nach Norm. Die Layer Gekauft und Phantom muß du selbst vorher erstellen, sonst geht's in die Hose. Probier's mal aus. Code: Public Sub ChangeLayerOfOccurrenceCurves() ' Get the active drawing document. Dim drawDoc As DrawingDocument Set drawDoc = ThisApplication.ActiveDocumentDim drawView As DrawingView For Each drawView In drawDoc.ActiveSheet.DrawingViews Dim docDesc As DocumentDescriptor Set docDesc = drawView.ReferencedDocumentDescriptor ' Verify that the selected drawing view is of an assembly. If docDesc.ReferencedDocumentType <> kAssemblyDocumentObject Then MsgBox "The selected view must be of an assembly." Exit Sub End If ' Get the component definition for the assembly. Dim asmDef As AssemblyComponentDefinition Set asmDef = docDesc.ReferencedDocument.ComponentDefinition ' Process the occurrences, wrapping it in a transaction so the ' entire process can be undone with a single undo operation. Dim trans As Transaction Set trans = ThisApplication.TransactionManager.StartTransaction(drawDoc, "Change drawing view Layer") ' Call the recursive function that does all the work. Call ProcessAssemblyColor(drawView, asmDef.Occurrences) trans.End Next End Sub Private Sub ProcessAssemblyColor(drawView As DrawingView, Occurrences As ComponentOccurrences) ' Iterate through the current collection of occurrences. Dim occ As ComponentOccurrence For Each occ In Occurrences ' Check to see if this occurrence is a part or assembly. If occ.DefinitionDocumentType = kPartDocumentObject Then ' ** It's a part so process the BOM structure Dim sLayer As String ' Get the layer name by BOM structure of the occurrence. Select Case occ.BOMStructure Case kPhantomBOMStructure: sLayer = "Phantom" Case kPurchasedBOMStructure: sLayer = "Gekauft" End Select If sLayer <> "" Then ' Get the TransientsObjects object to use later. Dim transObjs As TransientObjects Set transObjs = ThisApplication.TransientObjects ' Verify that a layer "gekauft" or "phantom" exists Dim layers As LayersEnumerator Set layers = drawView.Parent.Parent.StylesManager.layers Dim drawDoc As DrawingDocument Set drawDoc = drawView.Parent.Parent On Error Resume Next Dim oLayer As Layer Set oLayer = layers.Item(sLayer) If Not oLayer Is Nothing Then ' Get all of the curves associated with this occurrence. On Error Resume Next Dim drawcurves As DrawingCurvesEnumerator Set drawcurves = drawView.DrawingCurves(occ) If Err.Number = 0 Then On Error GoTo 0 ' Create an empty collection. Dim objColl As ObjectCollection Set objColl = transObjs.CreateObjectCollection() ' Add the curve segments to the collection. Dim drawCurve As DrawingCurve For Each drawCurve In drawcurves Dim segment As DrawingCurveSegment For Each segment In drawCurve.Segments objColl.Add segment Next Next ' Change the layer of all of the segments. Call drawView.Parent.ChangeLayer(objColl, oLayer) End If End If On Error GoTo 0 End If Else ' It's an assembly so process its contents. Call ProcessAssemblyColor(drawView, occ.SubOccurrences) End If Next End Sub
------------------ MfG Ralf  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 13. Jan. 2013 12:42 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ralf Genial, vielen vielen Dank. Da ich nur VBA Leihe bin, verstehe ich den Code nur ansatzweise. Leider macht er nämlich (siehe Anhang) meine Rückwand Orange obwohl die Rw als Normal deklariert ist. Könntest Du mir da noch mal helfen? ------------------ Oli [Diese Nachricht wurde von ovb am 13. Jan. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
      

 Beiträge: 2617 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 13. Jan. 2013 13:45 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
Hi Mein Fehler, die Variable sLayer wird innerhalb der Schleife nicht zurückgesetzt. Deswegen bleibt der einmal gesetzte Wert erhalten. Ersetze bitte die komplette zweite Sub mit: Code: Private Sub ProcessAssemblyColor(drawView As DrawingView, Occurrences As ComponentOccurrences) ' Iterate through the current collection of occurrences. Dim occ As ComponentOccurrence Dim sLayer As String For Each occ In Occurrences ' Check to see if this occurrence is a part or assembly. If occ.DefinitionDocumentType = kPartDocumentObject Then ' ** It's a part so process the BOM structuresLayer = "" ' Get the BOM structure of the occurrence. Select Case occ.BOMStructure Case kPhantomBOMStructure: sLayer = "Phantom" Case kPurchasedBOMStructure: sLayer = "Gekauft" End Select If sLayer <> "" Then ' Get the TransientsObjects object to use later. Dim transObjs As TransientObjects Set transObjs = ThisApplication.TransientObjects ' Verify that a layer "gekauft" or "phantom" exists Dim layers As LayersEnumerator Set layers = drawView.Parent.Parent.StylesManager.layers Dim drawDoc As DrawingDocument Set drawDoc = drawView.Parent.Parent On Error Resume Next Dim oLayer As Layer Set oLayer = layers.Item(sLayer) If Not oLayer Is Nothing Then ' Get all of the curves associated with this occurrence. On Error Resume Next Dim drawcurves As DrawingCurvesEnumerator Set drawcurves = drawView.DrawingCurves(occ) If Err.Number = 0 Then On Error GoTo 0 ' Create an empty collection. Dim objColl As ObjectCollection Set objColl = transObjs.CreateObjectCollection() ' Add the curve segments to the collection. Dim drawCurve As DrawingCurve For Each drawCurve In drawcurves Dim segment As DrawingCurveSegment For Each segment In drawCurve.Segments objColl.Add segment Next Next ' Change the layer of all of the segments. Call drawView.Parent.ChangeLayer(objColl, oLayer) End If End If On Error GoTo 0 End If Else ' It's an assembly so process its contents. Call ProcessAssemblyColor(drawView, occ.SubOccurrences) End If Next End Sub
------------------ MfG Ralf  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 13. Jan. 2013 14:21 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ralf, echt klasse, nochmals Danke für deine Mühe. Wo darf ich die Flasche Wein hinschicken? Nur mal als Frage: Wenn man nicht Phantom und Gekauft ansprechen will sondern wie ganz oben im Thread ein Material. Ist das auch Möglich? z.B.: das Mauerwerk immer als Material "Wand" definieren, dann für die Darstellung die Oberflächen anpassen. So handhabe ich das mit der Schraffur, dadurch muß ich in der idw nicht den ansi33 händisch einrichten. Für die VBA Layersteuerung hieße das dann Material "Wand" = Layer "Wand" ------------------ Oli
[Diese Nachricht wurde von ovb am 13. Jan. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
      

 Beiträge: 2617 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 13. Jan. 2013 14:48 <-- editieren / zitieren --> Unities abgeben:          Nur für ovb
Hi Ginge auch, hab den anderen Code drin gelassen, aber auskommentiert. Code: Private Sub ProcessAssemblyColor(drawView As DrawingView, Occurrences As ComponentOccurrences) ' Iterate through the current collection of occurrences. Dim occ As ComponentOccurrence Dim sLayer As String For Each occ In Occurrences ' Check to see if this occurrence is a part or assembly. If occ.DefinitionDocumentType = kPartDocumentObject Then ' ** It's a part so process the BOM structuresLayer = "" ' Get the BOM structure of the occurrence. 'Select Case occ.BOMStructure 'Case kPhantomBOMStructure: sLayer = "Phantom" 'Case kPurchasedBOMStructure: sLayer = "Gekauft" 'End Select ' Get the material name of the occurrence Select Case occ.Definition.Material.Name Case "Wand": sLayer = "Wand" Case "Fenster": sLayer = "Fenster" End Select If sLayer <> "" Then ' Get the TransientsObjects object to use later. Dim transObjs As TransientObjects Set transObjs = ThisApplication.TransientObjects ' Verify that a layer "gekauft" or "phantom" exists Dim layers As LayersEnumerator Set layers = drawView.Parent.Parent.StylesManager.layers Dim drawDoc As DrawingDocument Set drawDoc = drawView.Parent.Parent On Error Resume Next Dim oLayer As Layer Set oLayer = layers.Item(sLayer) If Not oLayer Is Nothing Then ' Get all of the curves associated with this occurrence. On Error Resume Next Dim drawcurves As DrawingCurvesEnumerator Set drawcurves = drawView.DrawingCurves(occ) If Err.Number = 0 Then On Error GoTo 0 ' Create an empty collection. Dim objColl As ObjectCollection Set objColl = transObjs.CreateObjectCollection() ' Add the curve segments to the collection. Dim drawCurve As DrawingCurve For Each drawCurve In drawcurves Dim segment As DrawingCurveSegment For Each segment In drawCurve.Segments objColl.Add segment Next Next ' Change the layer of all of the segments. Call drawView.Parent.ChangeLayer(objColl, oLayer) End If End If On Error GoTo 0 End If Else ' It's an assembly so process its contents. Call ProcessAssemblyColor(drawView, occ.SubOccurrences) End If Next End Sub
------------------ MfG Ralf  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ovb Mitglied Schreiner

 Beiträge: 65 Registriert: 16.07.2002 Win 7 64bit Inventor 2013 Sp1.1.1
|
erstellt am: 13. Jan. 2013 15:11 <-- editieren / zitieren --> Unities abgeben:         
|