| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Gewinde (1780 mal gelesen)
|
TimC Mitglied
Beiträge: 21 Registriert: 26.02.2008
|
erstellt am: 26. Mrz. 2008 10:40 <-- editieren / zitieren --> Unities abgeben:
|
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 26. Mrz. 2008 11:07 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
|
SEHER Mitglied Systemanalytiker
Beiträge: 1203 Registriert: 13.03.2001
|
erstellt am: 26. Mrz. 2008 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
|
TimC Mitglied
Beiträge: 21 Registriert: 26.02.2008
|
erstellt am: 26. Mrz. 2008 11:15 <-- editieren / zitieren --> Unities abgeben:
|
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 26. Mrz. 2008 11:37 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
|
TimC Mitglied
Beiträge: 21 Registriert: 26.02.2008
|
erstellt am: 26. Mrz. 2008 12:34 <-- editieren / zitieren --> Unities abgeben:
|
ylps Mitglied
Beiträge: 89 Registriert: 29.07.2005 Inventor 10 INV 2008
|
erstellt am: 31. Mrz. 2008 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
Auch von meiner Seite aus Danke Damit wäre für uns leider aber erst die erste Hälfte unseres Problems gelöst! Wie kann ich jetzt die Eigenschaft (Farbe) des Gewindes ändern? Wir haben/wollen jedem Gewindedurchmesser (und Bohrungen) eine Farbe zuweisen. Gruß und Danke Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 31. Mrz. 2008 09:41 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
|
ylps Mitglied
Beiträge: 89 Registriert: 29.07.2005 Inventor 10 INV 2008
|
erstellt am: 03. Apr. 2008 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
leider komme ich mit meinen MINI-Kenntnissen an VBA doch nicht weiter. Den Durchmesser kann ich zwar jetzt abfragen, aber wie fragt man den Durchmesser einer Gewindebohrung ab? Und das Ändern der Farbe des Gewindes bzw. Bohrung klappt auch nicht. Hat jemand von Euch eine weiterführende Antwort für mich parat? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ylps Mitglied
Beiträge: 89 Registriert: 29.07.2005 Inventor 10 INV 2008
|
erstellt am: 08. Mai. 2008 10:07 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
ich kann zwar jetzt so gut wie alle Geometriedaten von Gewinde und Bohrungen abfragen, aber ich weiß nicht weiter! Wie kann ich die Farbe des Gewindes/Bohrung abfragen bzw. wie kann ich z.Bsp. die Gewinde alle blau machen und die Bhrungen rot? Leider weiß ich nicht wie ich den Befehl ...Feature.Faces einsetzen kann? Gruß Mcihael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TimC Mitglied
Beiträge: 21 Registriert: 26.02.2008
|
erstellt am: 08. Mai. 2008 11:42 <-- editieren / zitieren --> Unities abgeben:
Hallo, weiß jetzt nicht genau ob du das meinst: Probier mal folgenden Code:
Code:
Sub BohrungRenderStyle() Dim Doc As PartDocument Set Doc = ThisApplication.ActiveDocumentDim oBlueStyle As RenderStyle, oRedStyle As RenderStyle Set oBlueStyle = Doc.RenderStyles("Blau") Set oRedStyle = Doc.RenderStyles("Rot") Dim oHoleFeature As HoleFeature For Each oHoleFeature In Doc.ComponentDefinition.Features.HoleFeatures If oHoleFeature.Tapped = True Then 'Gewinde oHoleFeature.SetRenderStyle kOverrideRenderStyle, oBlueStyle Else oHoleFeature.SetRenderStyle kOverrideRenderStyle, oRedStyle End If Next End Sub
Hab den Code jetzt nicht kommentiert. Wenn du was nicht verstehst sag einfach bescheid! P.S. : Die Farbe kannst du später hiermit auslesen: oHoleFeature.GetRenderStyle(kOverrideRenderStyle).Name Gruß, Tim [Diese Nachricht wurde von TimC am 08. Mai. 2008 editiert.] [Diese Nachricht wurde von TimC am 08. Mai. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ylps Mitglied
Beiträge: 89 Registriert: 29.07.2005 Inventor 10 INV 2008
|
erstellt am: 08. Mai. 2008 12:35 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
|
TimC Mitglied
Beiträge: 21 Registriert: 26.02.2008
|
erstellt am: 08. Mai. 2008 12:44 <-- editieren / zitieren --> Unities abgeben:
|
ylps Mitglied
Beiträge: 89 Registriert: 29.07.2005 Inventor 10 INV 2008
|
erstellt am: 03. Sep. 2008 17:30 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
Hallo TimC bisher hat das Macro toll geklappt. Jetzt musste ich auf einenen anderen Rechner und jetzt bleibt das Macro bei: -> Set oBlueStyle = Doc.RenderStyles("Blau") <- stehen Keine Ahnung warum! Kann mir jemand helfen? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 03. Sep. 2008 19:37 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
|
TimC Mitglied
Beiträge: 21 Registriert: 26.02.2008
|
erstellt am: 04. Sep. 2008 07:25 <-- editieren / zitieren --> Unities abgeben:
Hallo, wie PaulSchuepbach schon sagte gibt es wahrscheinlich den RenderStyle nicht! Entweder du fügst ihn von Hand ein - oder - du fügst in ein per VBA-Code: Code:
Sub BohrungRenderStyle() Dim Doc As PartDocument Set Doc = ThisApplication.ActiveDocumentDim oBlueStyle As RenderStyle, oRedStyle As RenderStyle ' Prüfe ob die Farbe "Blau" vorhanden ist If CheckStyleByName(Doc, "Blau") Then Set oBlueStyle = Doc.RenderStyles("Blau") Else ' Die Farbe "Blau" einfügen Set oBlueStyle = Doc.RenderStyles.Add("Blau") oBlueStyle.SetAmbientColor 0, 0, 255 oBlueStyle.SetDiffuseColor 0, 0, 255 oBlueStyle.SetEmissiveColor 0, 0, 0 oBlueStyle.SetSpecularColor 255, 255, 255 End If ' Prüfe ob die Farbe "Rot" vorhanden ist If CheckStyleByName(Doc, "Rot") Then Set oRedStyle = Doc.RenderStyles("Rot") Else ' Die Farbe "Rot" einfügen Set oRedStyle = Doc.RenderStyles.Add("Rot") oRedStyle.SetAmbientColor 255, 0, 0 oRedStyle.SetDiffuseColor 255, 0, 0 oRedStyle.SetEmissiveColor 0, 0, 0 oRedStyle.SetSpecularColor 255, 255, 255 End If Dim oHoleFeature As HoleFeature For Each oHoleFeature In Doc.ComponentDefinition.Features.HoleFeatures If oHoleFeature.Tapped = True Then 'Gewinde oHoleFeature.SetRenderStyle kOverrideRenderStyle, oBlueStyle Else oHoleFeature.SetRenderStyle kOverrideRenderStyle, oRedStyle End If Next End Sub Private Function CheckStyleByName(Doc As Document, Name As String) As Boolean Dim oRender As RenderStyle For Each oRender In Doc.RenderStyles If oRender.Name = Name Then CheckStyleByName = True Exit Function End If Next CheckStyleByName = False End Function
Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ylps Mitglied
Beiträge: 89 Registriert: 29.07.2005 Inventor 10 INV 2008
|
erstellt am: 05. Sep. 2008 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
das ist's gewesen! Problem gelöst! Danke Michael Wieder was dazu gelernt. Jetzt weiß ich warum manche Farben auch nicht gegangen sind, die müssen alle im Normen-Editor -> Farbe eingetragen sein. So kleine Kleinigkeiten können das Leben ganz schon erschweren! [Diese Nachricht wurde von ylps am 05. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
surfhai Mitglied Konstruktions Ingenieur
Beiträge: 435 Registriert: 11.08.2004
|
erstellt am: 18. Sep. 2008 08:52 <-- editieren / zitieren --> Unities abgeben: Nur für TimC
Zitat: Original erstellt von ylps: leider komme ich mit meinen MINI-Kenntnissen an VBA doch nicht weiter. Den Durchmesser kann ich zwar jetzt abfragen, aber wie fragt man den Durchmesser einer Gewindebohrung ab? Und das Ändern der Farbe des Gewindes bzw. Bohrung klappt auch nicht. Hat jemand von Euch eine weiterführende Antwort für mich parat? Gruß Michael
Könntest du ein paar Beispiele hier reinschreiben, ich häng nämlich am selben Problem und komm nich weiter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |