| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Rohrleitung - Parameter ? (3234 mal gelesen)
|
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 02. Mrz. 2009 10:17 <-- editieren / zitieren --> Unities abgeben:
Hi, folgendes Problem : Die 3D Skizze eines Rohres wird durch eine Masterskizze bestimmt. Die Länge des Rohres soll als Parameter in die Stückliste exportiert werden. Ist das möcglich ? ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus 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: 02. Mrz. 2009 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
|
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 02. Mrz. 2009 14:01 <-- editieren / zitieren --> Unities abgeben:
Hi, kann hier auf der Arbeit leider keine Streamings schauen. ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus 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: 02. Mrz. 2009 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
|
Doc Snyder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13310 Registriert: 02.04.2004 IV 2019 + 2020 + 2021 W7pro64 F-Secure-Safe Dell-M4600 2,13GHz 12GB Quadro2000M 15,4"1920x1080 MS-IntelliMouse-Optical SpacePilotClassic
|
erstellt am: 03. Mrz. 2009 04:25 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Zitat: Original erstellt von rAist: Die 3D Skizze eines Rohres wird durch eine Masterskizze bestimmt.
Das musst Du genauer erklären. Was möglich ist, hängt sehr davon ab, wie im Detail das Rohr modelliert wird. Ist es ein einziges Sweeping oder zusammengesetzt, und das aus womöglich verschiedenartigen Features? Sind da Splines bei? ------------------ Roland www.Das-Entwicklungsbuero.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 03. Mrz. 2009 11:32 <-- editieren / zitieren --> Unities abgeben:
Es sind 2 mögliche Rohre die über ein Tool (Excel, 0 oder 1) platziert werden. Rohr 1 ist ein Sweeping über 2 2D Skizzen, sprich das Rohr hat nur 2 Biegungen in die selbe räumlíche Richtung. Rohr 2 ist ein Sweeping über eine 3D und eine 2 D Skizze, also mehrere mögliche Richtungswechsel. @ ghandi : das was du gelinkt hast hat leider nichts mit meinem Problem zu tun, aber danke trotzdem @ roland : siehe oben Es geht wie gesagt darum die Länge des rohres als Parameter zu haben und diesen in eine Stückliste zu exportieren. Den Parameter exportieren ist nicht das Problem, das Problem ist die Gesamtlänge des rohres überhaut erst als Parameter zu haben ! Im Bild ist zu sehen wie das 2te Rohr aufgebaut ist, über den Befehl EXTRAS -> Kontur messen kommt das mit dem roten Pfeil markierte richtige Ergebnis raus, und genau das brauche ich als Exportparameter. ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus [Diese Nachricht wurde von rAist am 03. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 04. Mrz. 2009 10:01 <-- editieren / zitieren --> Unities abgeben:
Sorry, muss mal pushen - Problem ist weiter aktuell ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus 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: 04. Mrz. 2009 10:47 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Hallo Marcus, ich würde mal sagen, VBA. Mir ist kein Befehl bekannt der das kann. Als WA könnte man mit einer Formel arbeiten, dann würde sich die Gesamtlänge anpassen, aber halt nur, solange die Anzahl der Biegungen gleich bleibt. ------------------ Gruß, Gandhi Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. CAD-RPG - Anleitungen IVNGWC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 04. Mrz. 2009 10:54 <-- editieren / zitieren --> Unities abgeben:
Was mich wundert ist, über den Befehlt "Kontur messen" kommt doch der richtige Wert raus, kann man diesen nicht irgendwie als Parameter nutzen ? ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 05. Mrz. 2009 14:36 <-- editieren / zitieren --> Unities abgeben:
Also halten wir abschliessend fest, Inventor kann das, was es selbst messen kann, nicht als Parameter liefern (?) ... Traurig. ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Michael Puschner Moderator Rentner
Beiträge: 13003 Registriert: 29.08.2003 Toshiba Encore mit MS Office Ein Programm sollte nicht nur Hand und Fuß, sondern auch Herz und Hirn haben. (Michael Anton)
|
erstellt am: 05. Mrz. 2009 22:47 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Zitat: Original erstellt von rAist: ... Inventor kann das, was es selbst messen kann, nicht als Parameter liefern ...
Das ist in diesem Falle richtig. Aber da das, was hier gemessen werden soll, über Parameter erzeugt wird, sollte man mit einer entsprechenden Formel die Gesamtlänge aus eben diesen Parametern in einer Parametergleichung errechenen können. Es handelt sich ja nur um Linien und Bögen, oder? ------------------ Michael Puschner Autodesk Inventor Certified Expert Scholle und Partner GmbH If in doubt - do it. (Grace Murray Hopper) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Doc Snyder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13310 Registriert: 02.04.2004 IV 2019 + 2020 + 2021 W7pro64 F-Secure-Safe Dell-M4600 2,13GHz 12GB Quadro2000M 15,4"1920x1080 MS-IntelliMouse-Optical SpacePilotClassic
|
erstellt am: 06. Mrz. 2009 00:18 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Moin! Unter massiver Hilfe gewisser VBA-Kämpen (es gibt nicht nur zwei) experimentiere ich aus aktuellem Anlass gerade genau an einem VBA-Tool, das sich den Sweeping-Pfad entlanghangelt und genau die von Marcus angedachte Konturlänge ausgibt. Es gibt da im VBA diverse Möglichkeiten, die sich vor allem in Form und Ausprägung ihrer Nachteile unterscheiden. Bisher tut's das Tool nur mit einem rein aus 3D-Skizzenelemeten bestehenden Pfad, optimiert auf Splines. Das sind halt ganz speziell verlegte Kabel, die ich da grad modelliere, und da ist dann eben 3D-Skizze Trumpf. Für Sweepings mit Pfaden aus 2D-SKizzen und gemischt aus 2D- und 3D-Skizzen müsste der Code noch erheblich erweitert werden. Es ist erschreckend, wenn man sich das mal im Einzelnen ansieht, dass da jede Sorte Linie einzeln behandelt sein will. Und, ich kann mir die Anmerkung nicht verkneifen: es ist dies ein Problem, das auch durch bewerfen mit Geld lösbar ist. ------------------ Roland www.Das-Entwicklungsbuero.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Charly Setter Moderator
Beiträge: 11977 Registriert: 28.05.2002 Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen.<P>Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw)
|
erstellt am: 06. Mrz. 2009 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Zumal Du ja das Geld für die von Dir benötigte Funktion schon vor Jahren aus dem Fenster geworfen hast Stichwort: AIP, Cable und Harness ------------------ Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen. Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 06. Mrz. 2009 10:20 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Michael Puschner: Das ist in diesem Falle richtig.Aber da das, was hier gemessen werden soll, über Parameter erzeugt wird, sollte man mit einer entsprechenden Formel die Gesamtlänge aus eben diesen Parametern in einer Parametergleichung errechenen können. Es handelt sich ja nur um Linien und Bögen, oder?
Ja, es ist eine ganz normale 3D Skizze. Für ein Rohr würde das per Hand berechnen (bzw eine Formel finden) eventuell gehen, aber es sind erheblich mehr Rohre bei uns, von daher inakzeptabel. Ich habe leider gar keine Ahnung von VBA, also fällt das, wenn ich nicht mit Geld um mich schmeißen möchte, zunächst mal flach. Sollte sich da kein anderer Weg oder Workaround finden in nächster Zeit, muss ich eventuell doch mal den großen Manitu fragen wie es um die Goldvorräte steht. Obwohl die Antwort ist pauschal erstmal immer die selbe ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus
[Diese Nachricht wurde von rAist am 06. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 06. Mrz. 2009 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Hallo, Du kannst hiermit prüfen ob die richtigen Werte raus kommen. Es wird auch ein Benutzer Parameter (Export) "SweepLength" erstellt und der Wert eingetragen: Code:
Sub SweepLength() On Error Resume Next Dim oParams As Parameters Set oParams = ThisApplication.ActiveDocument.ComponentDefinition.Parameters Dim oParam As Parameter Set oParam = oParams.UserParameters("SweepLength") Dim dLength As Double dLength = Round(ThisApplication.MeasureTools.GetLoopLength(ThisApplication.ActiveDocument.ComponentDefinition.Features.SweepFeatures(1).Path.Item(1).SketchEntity), 2) If oParam Is Nothing Then Set oParam = oParams.UserParameters.AddByValue("SweepLength", dLength, Inventor.UnitsTypeEnum.kCentimeterLengthUnits) Else Set oParam = oParams.UserParameters("SweepLength") oParam.Value = dLength End If oParam.ExposedAsProperty = True MsgBox "Parameter SweepLength: " & oParam.Expression End Sub
Wie Roland schon sagt, gibt es da mehrere Ansätze auch die Vielfalt der erstellten Rohre sehr groß ist. Mein erster Ansatz war so wie Michael gesagt hat, die einzelnen Linien zusammenzuzählen, aber dann haben wir ja festgestellt, dass bei den Splines als Length nicht die Länge sondern der Abstand zwischen Eckpunkten geliefert wird (ist ja auch logisch ). Tja, als Programmierer ist man schon ein geschlagener Mensch ------------------ Grüße Igor FX64 Software Solutions - Inventor Tools Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 06. Mrz. 2009 14:29 <-- editieren / zitieren --> Unities abgeben:
Hui vielen Dank Werde das mal an unseren Programmierer weitergeben, der soll mir halt nen Knopf dafür bauen oder sowas :P Wieso kann unser Programmierer sowas eigentlich nicht ? ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 06. Mrz. 2009 14:39 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
|
Doc Snyder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13310 Registriert: 02.04.2004 IV 2019 + 2020 + 2021 W7pro64 F-Secure-Safe Dell-M4600 2,13GHz 12GB Quadro2000M 15,4"1920x1080 MS-IntelliMouse-Optical SpacePilotClassic
|
erstellt am: 07. Mrz. 2009 20:56 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Moin! Marcus den Knopf dafür hast Du schon, er heißt F5. Allerdings musst Du ein wenig selber dafür tun. Aber das geht vermutlich wesentlich schneller, als Eurem Programmierer zu erklären, was Du willst.
1.: Wie man den Code testet: - Ein Bauteil mit einem Sweeping öffnen. - Alt-F11 drücken, es erscheint der VBA-Editor. - Darin ist links oben ein Fenster "Projekt - ..." (falls nicht: Ansicht\Projekt-Explorer) - Im Projekt-Fenster RMK auf "ApplicationProjekt" \Einfügen \Modul es erscheint ein leeres Fenster rechts davon. - Da hinein den Code kopieren. - Nun den Cursor in diesen Code setzen irgendwo zwischen Sub und End Sub (einfach Mausklick hinein). - F5 drücken, dann wird der Code ausgeführt. Aufpassen: Anzeige derzeit noch in cm. - Wenn Du beim Speichern nachher OK gibst, steht Dir der Code auch bei der nächsten Session zur Verfügung. - Mit genauso wenig Aufwand kann man auch "den Knopf" selber bauen und platzieren.
2.: Was bei mir beim Testen herauskam:
- Sweeping auf Pfad zusammengesetzt aus 3D-Splines und 3D-Linien in einer 3D-Skizze (wie bisher): OK - Sweeping auf Pfad zusammengesetzt aus 3D-Linien und Bögen in einer 3D-Skizze (was vorher zu falscher Berechnung führte): nun OK - Sweeping auf Pfad in einer 2D-Skizze (was vorher gar nicht ging): nun OK - Sweeping auf Pfad aus verschiedenen Skizzen zusammengesetzt: Obwohl die Funktion Sweeping alle Skizzen zusammenfastt, sofern die Endpunkte konizident sind, wird von dem Code nur eine Skizze erfasst. Welche, ist unklar; in einem Bauteil die erste, in einem anderen die letzte. Extras\Kontur_Messen berechnet auch immer nur die eine Skizze, die man anklickt. - Sweeping auf Pfad aus verschiedenen Skizzen zusammengesetzt (wie vor), aber: vor dem Sweeping alle Segmente in EINE 3D-Skizze projiziert und die Quellskizzen unsichtbar gemacht, damit die Funktion Sweeping auch wirklich die 3D-Skizze nimmt: OK! Auch Extras\Kontur_messen berechnet dann den gesamten Pfad. 3: Was man nun damit tun kan:
Der von daywa1k3r auf meine Bitte hin auf der Basis eines Vorschlages von rkauskh erstellte und nun noch ein Mal optimierte Code tut exakt das von Marcus Gefragte, nicht mehr aber auch nicht weniger als Extras\Kontur_messen tut. Das kann man weiter verfeinern und nach Gusto einrichten. Ich lasse das z.B. automatisch in die benutzerdefinierten iProps eintragen, ohne Einheit, in mm, weil ich es genau so in der Stückliste haben will. Genau für solche kleinen Extrawünsche ist der VBA-Editor da. Inventor kann halt (wie jedes reale Serienprodukt) nicht alles, aber man kann sich vieles nachrüsten (lassen). OK, dazu muss man sich einarbeiten, und das kostet Zeit. Oder man lässt es machen, und das kostet Geld. Wer beides nicht investieren will, muss die Werte halt von Hand ermitteln und eintragen. Das ist eine ganz einfache Frage der Rentabilität. ------------------ Roland www.Das-Entwicklungsbuero.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 09. Mrz. 2009 14:35 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Hi Einen Pfad aus mehreren Skizzen könnte man so aufaddieren: Code: Sub SweepLength() On Error Resume Next Dim oParams As Parameters Set oParams = ThisApplication.ActiveDocument.ComponentDefinition.Parameters Dim oParam As Parameter Set oParam = oParams.UserParameters("SweepLength") Dim dLength As Double '**************************************************************************************************************************************** Dim l As Double Dim i As Integer Dim j As Integer For i = 1 To ThisApplication.ActiveDocument.ComponentDefinition.Features.SweepFeatures.count If ThisApplication.ActiveDocument.ComponentDefinition.Features.SweepFeatures(i).Suppressed = False Then If ThisApplication.ActiveDocument.ComponentDefinition.Features.SweepFeatures(i).HealthStatus <> kBeyondStopNodeHealth Then For j = 1 To ThisApplication.ActiveDocument.ComponentDefinition.Features.SweepFeatures(i).Path.count If l <> ThisApplication.MeasureTools.GetLoopLength(ThisApplication.ActiveDocument.ComponentDefinition.Features.SweepFeatures(i).Path.Item(j).SketchEntity) Then dLength = dLength + ThisApplication.MeasureTools.GetLoopLength(ThisApplication.ActiveDocument.ComponentDefinition.Features.SweepFeatures(i).Path.Item(j).SketchEntity) l = Round(ThisApplication.MeasureTools.GetLoopLength(ThisApplication.ActiveDocument.ComponentDefinition.Features.SweepFeatures(i).Path.Item(j).SketchEntity), 2) End If Next End If End If Next '**************************************************************************************************************************************** 'dLength = Round(ThisApplication.MeasureTools.GetLoopLength(ThisApplication.ActiveDocument.ComponentDefinition.Features.SweepFeatures(1).Path.Item(1).SketchEntity), 2) If oParam Is Nothing Then Set oParam = oParams.UserParameters.AddByValue("SweepLength", dLength, Inventor.UnitsTypeEnum.kCentimeterLengthUnits) Else Set oParam = oParams.UserParameters("SweepLength") oParam.Value = dLength End If oParam.ExposedAsProperty = True MsgBox "Parameter SweepLength: " & oParam.Expression End Sub
Alles zwischen den Sternchen ist neu, dafür ist die einfache Längenermittlung auskommentiert. Dann fällt der Unterschied zur Vorgängerversion besser auf. NACHTEIL Sind die Konturlängen von 2 aufeinanderfolgenden Skizzen exakt gleich lang geht's in die Hose. Könntet ihr mal testen, ob ihr da einen Fehler entdecken könnt? ------------------ MfG RK [Diese Nachricht wurde von rkauskh am 09. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 09. Mrz. 2009 15:47 <-- editieren / zitieren --> Unities abgeben:
Erstmal tausend dank für das Feedback, ich tu mich zwar derzeit noch ein bissl schwer damit aber im Ansatz denke ich das kriege ich hin. Ich bin heute zufällig auf ein nächsts Problem gestoßen, ähnlich aber doch anders : Wenn ich ein Blechteil über Konturlasche erstelle, das dann abwickle kann ich ja gestreckte Länge da "rausmogeln" : Ich erstelle eine Skizze, Projiziere die Kontur und mache eine getriebens Maß da dran. Problem ist, erstens scheint mir das extrem unsauber, und, viel schlimmer, der Parameter taucht nicht zum Export im Hauptteil auf, nur in der Abwicklung. Kann ich das irgendwie anders machen ? @Igor : Wir haben sogar ne ganze IT Abteilung Da die Isntallation eines neuen Grafiktreibers auf meinem Laptop aber mittlerweile 6 Wochen dauert trau ich mich nicht wegen dem Knopf zu fragen...sonst kann ich wahrscheinlich erstmal 6 Monate Urlaub machen, weil ich keinen Rechner mehr habe @ Roland
Das sieht doch ganz gut aus das Ergebnis deines Testens, mehr wollte ich ja gar nicht im ersten Ansatz. ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus [Diese Nachricht wurde von rAist am 09. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 09. Mrz. 2009 16:38 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Hi Das könnte so gehen (mal eben schnell aus vorhandenem zusammengeklaut): Code: Private Sub Abwicklungsgrenzen() Dim objPartdocument As PartDocument Set objPartdocument = ThisApplication.ActiveDocument If objPartdocument.DocumentType <> kPartDocumentObject Then Exit Sub 'Prüfen, ob eine Abwicklung vorhanden ist und diese ggf. Aktualisieren If objPartdocument.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then Dim oFP As SheetMetalComponentDefinition Set oFP = objPartdocument.ComponentDefinition If oFP.Features.count = 0 Then Exit Sub If Not oFP.HasFlatPattern Then Dim Entscheidung As VbMsgBoxResult Entscheidung = MsgBox("Es existiert noch keine Abwicklung. Soll diese erstellt werden?", vbQuestion + vbYesNo) If Entscheidung = vbNo Then MsgBox "Ohne Abwicklung werden keine Parameter der Abmessungen geschrieben!" Exit Sub End If If Entscheidung = vbYes Then oFP.Unfold oFP.FlatPattern.ExitEdit End If End If
If oFP.HasFlatPattern Then Dim oFL As FlatPattern Set oFL = oFP.FlatPattern Dim Length As Double Dim Width As Double Length = Round(oFL.Length, 2) Width = Round(oFL.Width, 2) On Error Resume Next Dim oParams As Parameters Set oParams = ThisApplication.ActiveDocument.ComponentDefinition.Parameters Dim oParamLength As Parameter Set oParamLength = oParams.UserParameters("Length") If oParamLength Is Nothing Then Set oParamLength = oParams.UserParameters.AddByValue("Length", Length, Inventor.UnitsTypeEnum.kCentimeterLengthUnits) Else Set oParamLength = oParams.UserParameters("Length") oParamLength.Value = Length End If oParamLength.ExposedAsProperty = True Dim oParamWidth As Parameter Set oParamWidth = oParams.UserParameters("Width") If oParamWidth Is Nothing Then Set oParamWidth = oParams.UserParameters.AddByValue("Width", Width, Inventor.UnitsTypeEnum.kCentimeterLengthUnits) Else Set oParamWidth = oParams.UserParameters("Width") oParamWidth.Value = Width End If oParamWidth.ExposedAsProperty = True MsgBox "Länge x Breite: " & oParamLength.Expression & " x" & oParamWidth.Expression End If End If End Sub
ACHTUNG Die Ausrichtung der Abwicklung muß händisch gesetzt werden. Eine fehlerhafte Blechdefinition (k-Faktor) erzeugt falsche Abwicklungslängen. Da hat das Script keinen Einfluß drauf. ------------------ MfG RK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 10. Mrz. 2009 09:58 <-- editieren / zitieren --> Unities abgeben:
Ich finde den Support von euch super, aber ich finde es etwas enttäuschend das solche wie ich finde grundlegenden Sachen nur über Programmierung zu haben sind. Ich kenne Programme wo das deutlich einfacher ist. ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Doc Snyder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13310 Registriert: 02.04.2004 IV 2019 + 2020 + 2021 W7pro64 F-Secure-Safe Dell-M4600 2,13GHz 12GB Quadro2000M 15,4"1920x1080 MS-IntelliMouse-Optical SpacePilotClassic
|
erstellt am: 10. Mrz. 2009 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Zitat: Original erstellt von rAist: ...der Parameter taucht nicht zum Export im Hauptteil auf, nur in der Abwicklung.
Wenn die Abwicklung aktiviert ist, kannst Du diese Parameter ganz normal zum Export anmelden. Aber das bitte nur bei Blech. Konturlasche zur Rohrlängenbestimmung zu verwenden, halte ich für eine lustige Idee, aber mehr auch nicht. Nimm Dir lieber die Zeit, den Code in Dein VBA-Anwendungs-Projekt zu kopieren. Das ist wirklich leicht. Ich würde Dir dann sogar ein Icon dazu spendieren... ------------------ Roland www.Das-Entwicklungsbuero.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 11. Mrz. 2009 11:01 <-- editieren / zitieren --> Unities abgeben:
Ich werde mich mit dem VBA Code beschäftigen, aber leider geht das unerwartet erst übernächste Woche. Gerade eben ist ein brennender Brief eingegangen mit brandeiligem Auftrag, d.h. alles andere erstmal einstellen. Nächste woche habe ich (noch ...) Urlaub, also würde ich mich am Montag, dem 23.3. wieder da ransetzen, ich melde mich dann wegen des Icons und generellem Feedback ! Danke für eure Hilfe ! ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 24. Mrz. 2009 08:17 <-- editieren / zitieren --> Unities abgeben:
So, ich bin wieder im Lande und hoffe das ich mich heute mit der Sache beschäftigen kann. ------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fyodor Ehrenmitglied V.I.P. h.c. Dipl.-Ing.(FH) Maschinenbau
Beiträge: 2667 Registriert: 15.03.2005 DELL Precision 7740 Intel Core i9-9980HK 32 GB RAM NVISIA Quadro RTX4000 Windows 10 Enterprise<P>SolidWorks 2019 SP3.0
|
erstellt am: 24. Mrz. 2009 08:33 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Moin! Ich habe den von dayw1k3r am 6.3. geposteten Code getestet und das Ergebnis am 7.3. gepostet. Die am 9.3 gepostete Erweiterung von rkauskh habe ich nicht getestet (vor allem nicht am 7. ), weil mir der Weg über das Summieren zu unsicher ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 24. Mrz. 2009 14:32 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Hi Der oben gepostete Code von Igor ist der optimierte. Der von mir drunter gepostete stellt eine Erweiterung dieses Codes dar. Alles zwischen den 2 Sternchenreihen ist dazugekommen. Da es eine Vielzahl von Möglichkeiten gibt ein Rohr/Schlauch zusammenzusetzen, ist es beinahe unmöglich eine eierlegende Wollmilchsau zu coden, die alles kann (inkl. Hellsehen). Die größte Einschränkung meiner Erweiterung steht direkt unter dem Code. Getestet??? Dafür sind wir viel zu überzeugt von unserer unfehlbaren Göttlichkeit. Testen können es eigentlich nur User am "lebenden" Objekt. Die Testobjekte die ich mir ausdenke, treffen vielleicht 1% dessen was der Rest der Welt produziert.
------------------ MfG RK [Diese Nachricht wurde von rkauskh am 24. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fyodor Ehrenmitglied V.I.P. h.c. Dipl.-Ing.(FH) Maschinenbau
Beiträge: 2667 Registriert: 15.03.2005 DELL Precision 7740 Intel Core i9-9980HK 32 GB RAM NVISIA Quadro RTX4000 Windows 10 Enterprise<P>SolidWorks 2019 SP3.0
|
erstellt am: 24. Mrz. 2009 16:28 <-- editieren / zitieren --> Unities abgeben: Nur für rAist
Zitat: Original erstellt von rkauskh: Die Testobjekte die ich mir ausdenke, treffen vielleicht 1% dessen was der Rest der Welt produziert.
Genau deshalb habe ich gefragt Mir reicht dann wohl der kurze Code, ich habe nur einfache Sweeping-Teile. Danke Euch beiden für die Mühe! ------------------ Cheers, Jochen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rAist Ehrenmitglied V.I.P. h.c. CAD-Dozent (Creo/Inventor)
Beiträge: 2050 Registriert: 07.08.2006 IV 2016, Creo Parametric 4.0, Sensationelle Hardware ... ;)
|
erstellt am: 25. Mrz. 2009 09:43 <-- editieren / zitieren --> Unities abgeben:
Ich habe zwar nicht genau verstanden was mein Kollege hier gefummelt hat, aber fakt ist ich habe jetzt einen "Knopf" mit dem Code von Igor und der macht bisher genau das was ich brauche. 1000 Dank an alle die geholfen haben !
------------------ Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons exakt 25911 Wörter. Grüße, Marcus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |