| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: iLogic (5747 mal gelesen)
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 25. Sep. 2015 10:19 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bräuchte ,mal von euch hilfe. und zwar würde ich gerne in meiner end baugruppe (bassiert auf viele baugruppen und unterbaugruppen) nicht alle teile lackiert die lackierten teile in einer (von mir integrierten) RAL farbbilbiothek ändern. ist das möglich? ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 25. Sep. 2015 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Ja, das ist möglich. wie genau möchtest du denn dabei vorgehen? Gibt es ein Merkmal, dass die Teile alle gleich haben? Willst du die Teile vorher von Hand auswählen? Willst du immer nur ein Teil auswählen, oder am besten gleich alle?
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 25. Sep. 2015 14:08 <-- editieren / zitieren --> Unities abgeben:
ich habe alle lackiertenbauteile mit iProperties mum015: lackiert gekennzeichnet und möchte dann quasi all diese teile in der endbaugruppe in eine beliebige RAL farbe (bibliothek vorhanden) ändern ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 25. Sep. 2015 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 25. Sep. 2015 15:23 <-- editieren / zitieren --> Unities abgeben:
kann man per dropdown die komplette bibliothek hinterlegen oder muss ich jede farbe einzel auflisten? ich hätte kein problem mit dropdown gibt es andere möglichkeiten? ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 28. Sep. 2015 12:13 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 28. Sep. 2015 12:43 <-- editieren / zitieren --> Unities abgeben:
ich bin noch relativ neu auf dem gebiet und versuche mir alles selbst beizubringen wenn du mir kurz den unterschied erklärst oder sagst was besser/einfacherer wäre bin ich für alles offen ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 30. Sep. 2015 08:25 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Mit VBA schreibst du dir Macros, die du beliebig anwenden kannst. Mit iLogic gibt es die Möglichkeit, die Regeln die du erstellst an die Dokumente zu binden, oder globale Regeln zu erstellen. Ich persönlich komme mit VBA, bzw mit VB.net besser klar, da iLogic eine Programmiersprache nutzt, die ich manchmal nicht richtig nachvollziehen kann. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 30. Sep. 2015 09:11 <-- editieren / zitieren --> Unities abgeben:
danke ich versuche mir zur zeit die grundlagen von VBA zu erlernen es wäre trotzdem super wenn du mir hier mal helfen könntest ich bin so weit das ich per drop down (jede Farbe einzel angelegt) mit der standartbibliothek die farben ändern kann. leider noch nicht mit der RAL bibliothek und noch nicht in baugruppen zudem dann per dropdown die komplette RAL bibliothek erscheint verstehst du was ich meine? ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 30. Sep. 2015 10:36 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 30. Sep. 2015 10:43 <-- editieren / zitieren --> Unities abgeben:
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 30. Sep. 2015 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
zuerst mal kannst du schauen, ob du generell in dem Dokument auf einfache Weise Zugriff auf die RAL-Farben hast. Kopier dir den folgenden Code und führe ihn in einem entsprechenden Dokument aus und schau ob dir die relevanten Farben aufgelistet werden. Code: Public Sub Farbe() Dim ReSt As RenderStyle For Each ReSt In ThisApplication.ActiveEditDocument.RenderStyles Debug.Print ReSt.Name Next End Sub
Du musst dir dazu den Direktbereich im VBA-Editor einblenden, falls der nicht sichtbar ist! ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 30. Sep. 2015 13:10 <-- editieren / zitieren --> Unities abgeben:
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 30. Sep. 2015 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 30. Sep. 2015 14:15 <-- editieren / zitieren --> Unities abgeben:
Chrom - poliert Chrom - poliert - blau RAL 1002 Sandgelb RAL 1003 Signalgelb RAL 1004 Goldgelb sind mal so die ersten 5 aus dem direktfenster ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Big-Daddy Mitglied Konstrukteur
Beiträge: 51 Registriert: 08.04.2015 IV 2022 Prof.
|
erstellt am: 01. Okt. 2015 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 01. Okt. 2015 13:35 <-- editieren / zitieren --> Unities abgeben:
ich habe mir gedanken darüber gemacht und zwar wenn man es schafft die einzelnen farben der ganzen baugruppen zu ändern kannst du es über einen iproperty "makieren" und dann mit einer IF klausel ausklustern welches du lackieren willst ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Big-Daddy Mitglied Konstrukteur
Beiträge: 51 Registriert: 08.04.2015 IV 2022 Prof.
|
erstellt am: 01. Okt. 2015 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Ich hab in den IProperties unter "Kategorie" meine Bauteile mit "Front" oder Korpus deklariert. Wenn ich jetzt in einer Baugruppe Anfange zu suchen, kann ich doch nur jedes mal nach Bauteil 1 suchen, nächste If Abfrage Bauteil 2 usw... Ich suche ein Befehl, indem alle Bauteile auf einmal durchsucht werden. Ich habe ja nicht jedes mal die gleiche Zusammenstellung an Bauteilen... Das ist noch mein Problem Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 01. Okt. 2015 13:48 <-- editieren / zitieren --> Unities abgeben:
ok ich hab gedacht du willst in der endbaugruppe alle lackierten teile zb rot machen dann kannst du sagen "if iproperty(kawashiersteht) lackiert then .... nach diesen codes suche ich" soll er alles rot machen oder blau oder ...... ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Big-Daddy Mitglied Konstrukteur
Beiträge: 51 Registriert: 08.04.2015 IV 2022 Prof.
|
erstellt am: 01. Okt. 2015 13:59 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Nein ich will die einzelnen Bauteile (ipt) einfärben. Je nach Kundenwunsch und Zusammenstellung der Baugruppe sieht das immer anderst aus. Von daher kann meine Such-Regel nicht von dem Namen der Bauteile abhängig sein, sondern von dem Wert in der Ipropertie. Daher such ich nach einem Code der sagt, "Suche in allen Bauteilen in der Baugruppe nach Wert xx und gib ihr die Farbe schwarz" Ich weiß nur nicht wie die Suche aussehen soll Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 01. Okt. 2015 14:11 <-- editieren / zitieren --> Unities abgeben:
das meinte ich bei den benutzerdefinierten iproperties hinterlegst du dein suchbegriff ich rede nicht von namen der bauteilen ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Big-Daddy Mitglied Konstrukteur
Beiträge: 51 Registriert: 08.04.2015 IV 2022 Prof.
|
erstellt am: 01. Okt. 2015 14:53 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 01. Okt. 2015 14:57 <-- editieren / zitieren --> Unities abgeben:
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 05. Okt. 2015 11:48 <-- editieren / zitieren --> Unities abgeben:
hey Chris31 kannst du mir weiterhelfen? du hast doch wesentlich mehr ahnung als ich wie ich die bibliothek als dropdown fenster in die parameter bekomme (oder anderen vorschlag) ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 06. Okt. 2015 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Hallo, sorry, war die ganze Zeit außer Haus unterwegs. Also, wenn du das mit iLogic umsetzen willst, ist es am einfachsten, wenn du dir ein Form bastelst, in dem du ein Dropdown-Feld erstellst Im Aufruf der Form sagst du, welche FARBNAMEN in das Feld aufgenommen werden sollen. Bei Klick auf OK in der Form sollte dein Code abfragen, welcher FARBNAME gewählt wurde und dann alle Teile in der BG mit dem entsprechenden iProperty einfärben. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 06. Okt. 2015 12:41 <-- editieren / zitieren --> Unities abgeben:
|
Big-Daddy Mitglied Konstrukteur
Beiträge: 51 Registriert: 08.04.2015 IV 2022 Prof.
|
erstellt am: 06. Okt. 2015 12:41 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Hi Chris, wie du weißt habe ich ja ziemlich das gleiche Problem. Weißt du den Programm Code/Befehl damit er in den Bauteilen und nicht in der Baugruppe sucht? Ich wollte mir eine Regel erstellen und diese dann in ein Formular einbinden. Nur weiß ich den Befehl nicht um in den IProperties in den Bauteilen zu suchen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 06. Okt. 2015 12:54 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Hi, wenn die Namen nicht immer die gleichen sind, kenne ich leider in iLogic selbst keine Möglichkeit. In VBA ist das kein Thema. Da könnte man mit ner Schleife einfach alle Bauteie der Baugruppe durchlaufen. Du könntest natürlich auch einfach nen VBA-Code in iLogic einfügen. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Big-Daddy Mitglied Konstrukteur
Beiträge: 51 Registriert: 08.04.2015 IV 2022 Prof.
|
erstellt am: 06. Okt. 2015 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 06. Okt. 2015 13:05 <-- editieren / zitieren --> Unities abgeben:
könntest du mir dann im vba helfen? bzw den code geben ich versuche mir dann dort ewas zusammen zu basteln versuche im mom dort meine künste auszubauen ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 09. Okt. 2015 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Einfach mal auf die Schnelle und ungetestet. Code: Public Sub Farbe()Dim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocument 'Dem Platzhalter die ausgewählte Farbe zuweisen Dim oRenderstyle As RenderStyle Set oRenderstyle = oDoc.RenderStyles.Item("XXX HIER DEN NAMEN DES DROPDOWNFELDES und die Anführungszeichen wegnehmen XXX.selectedvalue") Dim oPart As ComponentOccurrence 'Alle Teile der BG durchlaufen For Each oPart In oDoc.ComponentDefinition.Occurrences If oPart.PropertySets.Item("User Defined Properties").Item("XXXX HIER DEN NAMEN DES PROPERTIES XXX").Expression = "HIER DER AUSDRUCK" Then 'Farbe setzen oPart.SetRenderStyle kOverrideRenderStyle, oRenderstyle End If Next End Sub
Dieser Code muss dann in der Form aufgerufen werden, wenn man auf OK drückt.
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 09. Okt. 2015 14:23 <-- editieren / zitieren --> Unities abgeben:
Public Sub Farbe() Dim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocument 'Dem Platzhalter die ausgewählte Farbe zuweisen Dim oRenderstyle As RenderStyle Set oRenderstyle = oDoc.RenderStyles.Item(farbe.selectedvalue") Dim oPart As ComponentOccurrence 'Alle Teile der BG durchlaufen For Each oPart In oDoc.ComponentDefinition.Occurrences If oPart.PropertySets.Item("User Defined Properties").Item("Oberfläche").Expression = "lackiert" Then 'Farbe setzen oPart.SetRenderStyle kOverrideRenderStyle, oRenderstyle End If Next End Sub so in etwa? da kommen bei mir einige fehler probleme mit den Sub da ich anscheind sonst keine drin hab wenn ich die weg mach bekomme ich noch mehr fehler
------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 09. Okt. 2015 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Du hast noch ein " zuviel. Welche Fehlermeldungen kommen denn genau? Hast du dir denn eine Form gebaut, in der ein Dropdown-Feld und ein OK-Button sind? In die Sub des OK-Buttons muss der Inhalt der obigen Sub rein. Also sollte es so aussehen: Code:
XXXX SUB DES OK BUTTON XXXDim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocument 'Dem Platzhalter die ausgewählte Farbe zuweisen Dim oRenderstyle As RenderStyle Set oRenderstyle = oDoc.RenderStyles.Item(farbe.selectedvalue) Dim oPart As ComponentOccurrence 'Alle Teile der BG durchlaufen For Each oPart In oDoc.ComponentDefinition.Occurrences If oPart.PropertySets.Item("User Defined Properties").Item("Oberfläche").Expression = "lackiert" Then 'Farbe setzen oPart.SetRenderStyle kOverrideRenderStyle, oRenderstyle End If Next End Sub
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 09. Okt. 2015 14:53 <-- editieren / zitieren --> Unities abgeben:
ein formular meinst du? ne hatte ich als ich es probiert hab nicht hinbekommen mit einem dropdown hatte das dropdown in den parametern ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 14. Okt. 2015 09:54 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Hallo, dann müsste es eher wie folgt lauten:
Code: Public Sub Farbe() Dim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocument 'Dem Platzhalter die ausgewählte Farbe zuweisen Dim oRenderstyle As RenderStyle Set oRenderstyle = oDoc.ComponentDefinition.Parameters.Item("NAME DES PARAMETERS").Expression Dim oPart As ComponentOccurrence
'Alle Teile der BG durchlaufen For Each oPart In oDoc.ComponentDefinition.Occurrences If oPart.PropertySets.Item("User Defined Properties").Item("Oberfläche").Expression = "lackiert" Then 'Farbe setzen oPart.SetRenderStyle kOverrideRenderStyle, oRenderstyle End If Next End Sub
Diesen Code anlegen. Farbe im Parameter-Dropdown auswählen und anschließend Macro ausführen.
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 14. Okt. 2015 12:28 <-- editieren / zitieren --> Unities abgeben:
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 14. Okt. 2015 12:31 <-- editieren / zitieren --> Unities abgeben:
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 14. Okt. 2015 13:11 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Den Code musst du in ein VBA-Projekt einbinden. ALT+F11 drücken. Den Code in ein Modul einfügen. Speichern. Dann kannst du dir das auch noch als Button einfügen , oder über Extras--> Makros ausführen. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Big-Daddy Mitglied Konstrukteur
Beiträge: 51 Registriert: 08.04.2015 IV 2022 Prof.
|
erstellt am: 14. Okt. 2015 13:27 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Chris ich möchte das ganze in einer Regel ohne Dropdown usw. Ich hab mal angefangen zu programmieren. Kannst du mir sagen was ich ändern muss das es läuft? javascript:InsertSMI(' %20'); '**Document definieren Dim oDoc As Document = ThisDoc.Document Dim Farbe As String Farbe = "schwarz" Dim oRenderstyle As RenderStyle Dim oPart As ComponentOccurrence
'Alle Teile der Baugruppe durchlaufen For Each oPart In oDoc.ComponentDefinition.Occurrences If oPart.PropertySets.Value("Summary").Value("Category").Expression = "Front" Then 'Farbe setzen oPart.SetRenderStyle kOverrideRenderStyle, Farbe End If Next
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 14. Okt. 2015 14:46 <-- editieren / zitieren --> Unities abgeben:
|
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 200x, Civil, LDD, MDT, ARD, ACA(ADT) Inventor AIP 4-11,200x WinXP, W2K
|
erstellt am: 14. Okt. 2015 15:12 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Nur zum Verständnis. Eine Programmierung ist meines Erachtens für die konkrete Aufgabe gar nicht notwendig. Das kann man auch recht gut mit Inventor Bordmitteln erledigen. 1. Im Browser auf das Fernrohr klicken und eine Suche über alle Dateityp: IPT, Kategorie ist genau FRONT definieren. 2. die gefundenen und markierten Bauteile durch Klick auf die Darstellungsliste mit einer RAL Farben Darstellung überschreiben. Soll die Darstellung in den Bauteilen direkt überschrieben werden, kann man das ähnlich einfach über die Stückliste (Nur Bauteile, Kategorie und Darstellungsspalte einblenden) erreichen.
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 15. Okt. 2015 07:29 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
@BigDaddy, probier es mal so: Code: '**Document definieren Dim oDoc As Document = ThisApplication.ActiveDocument Dim Farbe As Renderstyle Set Farbe = oDoc.RenderStyles.Item("schwarz") Dim oRenderstyle As RenderStyle Dim oPart As ComponentOccurrence
'Alle Teile der Baugruppe durchlaufen For Each oPart In oDoc.ComponentDefinition.Occurrences If oPart.PropertySets.Item("Document Summary Information").Item("Category").Expression = "Front" Then 'Farbe setzen oPart.SetRenderStyle kOverrideRenderStyle, Farbe End If Next
------------------ MFG Chris [Diese Nachricht wurde von Chris 31 am 15. Okt. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 15. Okt. 2015 07:42 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 15. Okt. 2015 16:46 <-- editieren / zitieren --> Unities abgeben:
kommt immer noch eine fehler meldung! Fehler beim kompilieren: Typen unvertäglich Danach "public Sub farben" gelb makiert und 6 Zeile .Expression blau hinterlegt ------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 16. Okt. 2015 11:15 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
|
Sheriff Mitglied konstrukteur
Beiträge: 57 Registriert: 16.09.2015
|
erstellt am: 19. Okt. 2015 12:53 <-- editieren / zitieren --> Unities abgeben:
Public Sub Farbe() Dim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocument 'Dem Platzhalter die ausgewählte Farbe zuweisen Dim oRenderstyle As RenderStyle Set oRenderstyle = oDoc.ComponentDefinition.Parameters.Item("farbe").Value Dim oPart As ComponentOccurrence
'Alle Teile der BG durchlaufen For Each oPart In oDoc.ComponentDefinition.Occurrences If oPart.PropertySets.Item("User Defined Properties").Item("Oberfläche").Value = "lackiert" Then 'Farbe setzen oPart.SetRenderStyle kOverrideRenderStyle, oRenderstyle End If Next End Sub kommt jetzt fehler" laufzeitfehler 424 objekt erforderlich siehe bild das ist der parameter wo ich es eig ändern will (verbesserungsvorschläge sind erwünscht
------------------ ei speak english very well, but ich kann´s noch net so schnell Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Joe25 Mitglied
Beiträge: 20 Registriert: 02.06.2016
|
erstellt am: 02. Jun. 2016 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Ich habe gerade das Thema mit Google gefunden und wollte fragen ob es hierzu schon eine Lösung gibt? Ist es entscheidend ob es ein Modellparameter oder ein Benutzerparameter ist auf welches zugegriffen wird? In meinem Fall wäre das ein Benutzerparameter mit einer Mutlivalue-Liste zur Auswahl der möglichen Farben. Ich bekomme bisher auch den Laufzeitfehler 424 - Objekt erforderlich. Hoffe Ihr könnt mir helfen Gruß Joe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 02. Jun. 2016 11:35 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Hallo Joe, wie hast du denn die Multivalue-Liste erstellt? Wichtig ist, dass die Farben haargenau so heißen, wie in deiner Farbliste. Daran könnte es liegen, dass der Fehler kommt. Sonst zeig doch mal dein Code und schildere deine Vorgehensweise, dann kann man auf Fehlersuche gehen. Edit: Nein, ist egal, ob du auf ein User-Parameter oder ein Modell-Parameter zugreifst. ------------------ MFG Chris [Diese Nachricht wurde von Chris 31 am 02. Jun. 2016 editiert.] [Diese Nachricht wurde von Chris 31 am 02. Jun. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Joe25 Mitglied
Beiträge: 20 Registriert: 02.06.2016
|
erstellt am: 02. Jun. 2016 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
also hier mal der Code: Public Sub Farbe() Dim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocument
'Dem Platzhalter die ausgewählte Farbe zuweisen Dim oRenderstyle As RenderStyle Set oRenderstyle = oDoc.ComponentDefinition.Parameters.Item("Korpusfarbe").Value Dim oPart As ComponentOccurrence 'Alle Teile der BG durchlaufen For Each oPart In oDoc.ComponentDefinition.Occurrences If oPart.PropertySets.Item("Document Summary Information").Item("Part Number").Value = "11111" Then 'Farbe setzen oPart.SetRenderStyle kOverrideRenderStyle, oRenderstyle End If Next End Sub Mein Parameter heißt "Korpusfarbe" und er solle alle Teile suchen die die Teilenummer 11111 haben.
Ich habe meine Baugruppe geöffnet bin dann unter "Verwalten" -> Parameter. Unten links in den Parameter ein Text-Parameter hinzugefügt, rechts klick Werte hinzufügen und dort meine Farben eingefügt. Die Schreibweise der Farben habe ich gerade nochmal geprüft,Extra -> Darstellung, dort habe ich die Namen mit Copy+Paste in die Parameter kopiert. Als Fehler markiert er mir immer die Zeile in der er auf den Parameter zugreifen soll. Der Name des Parameters hab ich auch schon kontrolliert. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013/2015 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 02. Jun. 2016 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für Sheriff
Probier mal die Fehlerzeile in: Code: Set oRenderstyle = oDoc.ComponentDefinition.Parameters.Item("Korpusfarbe").Expression
zu ändern. Du hast ja einen TEXT-Parameter eingefügt. Vielleicht hilft das schon. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |