| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Wie erfüllt 3D-Modellierungssoftware die Anforderungen der Automobilindustrie |
Autor
|
Thema: Sweeppfadlänge als IProperty auslesen (2614 mal gelesen)
|
freierfall Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 11547 Registriert: 30.04.2004 WIN10 64bit, 32GB RAM IV bis 2022
|
erstellt am: 03. Dez. 2006 19:57 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Ich habe da ein kleines Problem. Ich stelle mittels Sweepkontur die Kette vereinfacht dar. Nun möchte ich da es in unserer Stückliste die Länge brauche, auch die Länge auslesen und in der Stückliste mit anzeigen lassen. Bei Abwicklungen und Rahmenprofilen geht es, da ich u.a. G_L und SM_Extens_Width auslese. Ich habe da eine kleines Beispiel zur Veranschaulichung angehängt. herzlichen Dank Sascha Fleischer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
invhp Ehrenmitglied V.I.P. h.c. MB Techniker, AE, WKZmacher
Beiträge: 5552 Registriert: 16.05.2002 (fast) alles, was Autodesk im Mechanikbereich anbietet ;)
|
erstellt am: 03. Dez. 2006 20:26 <-- editieren / zitieren --> Unities abgeben: Nur für freierfall
Hallo Sascha, ich kann dein Bsp nicht anschauen (PC macht gerade Backup und die Platte rödelt das der IV start ewig dauern würde ) aber ich denke es handelt sich beim Sweeping-Pfad um Linien und Bögen. Die Länge könntest du z.B. ausrechnen indem du über den Radius und den Winkel die Bogenlängen berechnest und die Längen der Linien addierst (ggf. als Referenzparamter). Den Paramter, der die Summe daraus enthält setzt du auf Export und nutzt ihn wie z.B. G_L in der Stüli. ------------------ Grüsse Jürgen www.inventor-faq.de www.dressler-ds.de Autodesk Inventor Certified Expert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
freierfall Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 11547 Registriert: 30.04.2004 WIN10 64bit, 32GB RAM IV bis 2022
|
erstellt am: 03. Dez. 2006 21:10 <-- editieren / zitieren --> Unities abgeben:
Hallo, genau dieses Messen wollte ich automatisch durchführen lassen. Ich steuer die Sweepkontur per Masterskizze. Aber vorerst werde ich es so machen. Danke Wenn jemand noch einen automatischen Weg kennt dann bitte melden. herzlichen Dank Sascha Fleischer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
W. Holzwarth Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 9326 Registriert: 13.10.2000 Inventor bis 2024, Rhino 7, Mainboard ASUS ROG STRIX X570F-Gaming, CPU Ryzen 9 5900X, 64 GB RAM, 4 TB SSD, Radeon RX 6900 XT, Dual Monitor 24", Spacemouse Enterprise, Win 10 22H2
|
erstellt am: 03. Dez. 2006 21:26 <-- editieren / zitieren --> Unities abgeben: Nur für freierfall
Hmm. Kann man denn die Länge des Sweeping-Pfades nicht in der Skizze messen? Eintippen mußte dann natürlich selber. Aber dann haste vielleicht noch 'n paar Wochen länger Arbeit. Ist ja auch was .. 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: 03. Dez. 2006 21:31 <-- editieren / zitieren --> Unities abgeben: Nur für freierfall
VBA ------------------ 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 |
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: 03. Dez. 2006 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für freierfall
Zitat: Original erstellt von freierfall: ... Ich steuer die Sweepkontur per Masterskizze. ...
Wenn es sowieso per Masterskizze gesteuert wird, könnte man die Skizze auch noch in ein zusätzliches Dummy-Blechbauteil ableiten. Dort eine Fläche extrudieren, aufdicken, kleinen Schlitz reinschneiden, K-Faktor auf 1 oder 0 setzen (je nach Richtung beim Aufdicken), abwickeln, SM_Extens_Width exportieren und im Sweeping-Bauteil wieder importieren. Na, ist das nicht präzise von hinten durch die Brust ins Auge geschossen? ------------------ Michael Puschner Autodesk Inventor Certified Expert Scholle und Partner GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Mitglied Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 04. Dez. 2006 10:05 <-- editieren / zitieren --> Unities abgeben: Nur für freierfall
Hallo Sascha, folgender Code erszeut Dir eine user-Property 'Loop' mit der Länge des Pfades. Dazu einfach die Skizze zu editieren öffnen, EIN Element der Skizze anwählen (eines genügt - gemessen wird der komplette Loop) und den Code ablaufen lassen. Alternativ kannst Du auch einen Benutzerparameter schreiben, wenn Du die Kommentarzeichen des untersten Teiles des Codes entfernst: Public Sub getLoopLength() Dim oApp As Inventor.Application Set oApp = ThisApplication If oApp.ActiveDocumentType <> kPartDocumentObject Then MsgBox "Falscher Dokumenttyp", 16, "Error" Exit Sub End If Dim oDoc As PartDocument Set oDoc = oApp.ActiveDocument If oDoc.SketchActive = False Then MsgBox "Keine Skizze aktiv", 16, "Error" Exit Sub End If If oDoc.SelectSet.Count = 0 Then MsgBox "Nichts selektiert", 16, "Error" Exit Sub End If Dim x As Double On Error Resume Next x = Round(oApp.MeasureTools.getLoopLength(oDoc.SelectSet(1)) * 10, 3)
If Err Then MsgBox "Ungültiges Objekt gewählt", 16, "Error" Exit Sub End If ' User-Property 'Loop' erzeugen Dim oUserProp As Property On Error Resume Next Set oUserProp = oDoc.PropertySets(4).Item("Loop") If Err Then Set oUserProp = oDoc.PropertySets(4).Add(x, "Loop") Else oUserProp.Value = x End If ' User-Parameter 'Loop' erzeugen ' Dim oUserParam As UserParameter ' ' On Error Resume Next ' Set oUserParam = oDoc.ComponentDefinition.Parameters.UserParameters("Loop") ' ' If Err Then ' Set oUserParam = oDoc.ComponentDefinition.Parameters.UserParameters.AddByValue("Loop", x, "mm") ' Else ' oUserParam.Value = x ' End If
End Sub
------------------ Grüsse, Paul Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung thinkCAD Web-Kataloge Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
freierfall Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 11547 Registriert: 30.04.2004 WIN10 64bit, 32GB RAM IV bis 2022
|
erstellt am: 05. Dez. 2006 13:02 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, man herzlichen Dank, damit kann ich echt was anfangen und ich hoffe den in der Firma gefällt es genau so wie mir. Ich werde beide Weg den hinterrum und den Messen ausprobieren und dann entscheiden. Aber das Skript ist klasse und ich freue mich sehr. herzlichen Dank Sascha Fleischer 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: 09. Dez. 2006 05:05 <-- editieren / zitieren --> Unities abgeben: Nur für freierfall
|
freierfall Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 11547 Registriert: 30.04.2004 WIN10 64bit, 32GB RAM IV bis 2022
|
erstellt am: 09. Dez. 2006 05:31 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, Nein die von Jürgen aufgezeigte Methode werde ich auch umsetzen, denn diese ist wie du schreibst automatisch, bis hin zur Stückliste. Im Kopf ist diese Idee schon umgesetzt. Der Knopf von Paul ist für unsere Firma ebenfals interessant. herzlich Sascha Fleischer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |