| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Konturlänge einer Blechabwicklung (4094 mal gelesen)
|
Miniman Mitglied Informatiker
Beiträge: 7 Registriert: 14.09.2004
|
erstellt am: 30. Mrz. 2005 11:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen wir sind seit kurzem in der Firma auf Inventor umgestiegen, und schon sind die ersten wünsche meines Chefs vorhanden. Ist es möglich die Konturlänge einer Abwicklung inklusive aller Ausschnitte in eine Variable des IPT's zu schreiben? Gruss Miniman
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 30. Mrz. 2005 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für Miniman
|
Miniman Mitglied Informatiker
Beiträge: 7 Registriert: 14.09.2004
|
erstellt am: 30. Mrz. 2005 11:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Paul das müsste doch irgendwie mit VB oder sonst was möglich sein, aber mir fehlt absolut der Weg wie ich was finde im Inventor oder im File. Aber irgendwer hat sicher einen Tip auf lager Gruss Miniman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 30. Mrz. 2005 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für Miniman
|
Miniman Mitglied Informatiker
Beiträge: 7 Registriert: 14.09.2004
|
erstellt am: 30. Mrz. 2005 16:47 <-- editieren / zitieren --> Unities abgeben:
Hallo Paul gross Erfahrung habe ich nicht, was nicht ist kann noch werden. Vom Programmier habe ich schon eine Ahnung ich musste letzte Woche eine Diplomprüfung in C++ schreiben und das ist alles kein Problem. Ich muss die Kontur oder Schnittlänge auf dem abgewickelten Blech berechnen um die Schnittlänge zum Laserschneiden vorher schon zu kennen. Im Prinzip muss die Aussenkontur plus alle Ausschnitte, Löcher zusammengezählt werden. Ich habe nur keine Ahnung wie ich an die Informationen im Inventor ran komme oder wie abgeleght sind. Gibt es da irgendetwas wo man das Nachlesen kann? Gruss Miniman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 30. Mrz. 2005 17:10 <-- editieren / zitieren --> Unities abgeben: Nur für Miniman
|
Bruno M Mitglied Masch Ing. FH
Beiträge: 1 Registriert: 14.04.2005
|
erstellt am: 14. Apr. 2005 22:36 <-- editieren / zitieren --> Unities abgeben: Nur für Miniman
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 15. Apr. 2005 16:45 <-- editieren / zitieren --> Unities abgeben: Nur für Miniman
@Bruno Das hier ist kein Marktplatz! Wenn du hier die Leute mit Demo Tools locken möchtest, tu das bitte wo anders. Falls du jedoch auf CAD.de bzw. AUGCE.de werben möchtest, kannst du das gerne tun. In dem Fall kontaktiere bitte den Thomas Deck von AUGCE (thomasd@cad.de) bzw. Albert Ranig (albertr@cad.de). Danke! @Miniman Falls du wirklich ein C++ Programmierer bist, und du hast in einem Programmier Forum das Tool gekauft, dann wechsle schnell mal deinen Beruf. Andernfalls versuche mir zu folgen... Du musst nur alle Kanten in dem Teil zusammen zählen. Das Ergebnis wäre zwar falsch, aber der Grundgedanke ist richtig. Eigentlich solltest du nur die Kanten zusammenzählen die zur oberen bzw. unteren Fläche gehören. Du kannst die SurfaceBody von jedem Teil über ComponentDefinition abgreifen. Über SufraceBody kommst du auf die Kanten (Edges). Und so hast du schon mal alle Kanten. Jetzt ist festzustellen welche Kanten wirklich zu deiner Fläche gehören (und wie wir die Fläche überhaupt bekommen). Um es nicht kompliziert zu machen, würde ich sagen die Voraussetzung ist, dass eine Fläche selektiert ist. Die liest du dann mit SelectSet(1) aus. Damit hast du schon mal die Fläche. Danach ist festzustellen welche Kanten gehören zu deiner Fläche. Da machst du einfach zwei verschachtelte For Schleifen und prüfst jede Kante von dem Teil mit jeder Kanten von der Fläche. Falls es sich um die gleiche Kante handelt, selektierst du mal die Gleiche mit SelectSet.Select oEdge. So, wenn jetzt alle Kanten die oben liegen selektiert sind, dann arbeitet das Makro richtig. So, hier höre ich auf, da du mit ein wenig Mathe die Längen leicht zusammenzählen kannst. Hier nochmal der Code: Code:
Sub test_blech() Dim oPart As PartDocument Set oPart = ThisApplication.ActiveDocument If oPart.SelectSet.Count = 0 Then MsgBox "Bitte wählen Sie die obere Fläche", vbExclamation, "Keine Fläche gewählt" Exit Sub End If Dim oFace As Face Set oFace = oPart.SelectSet(1) oPart.SelectSet.Clear Dim oFaceEdge As Edge Dim oEdge As Edge For Each oEdge In oPart.ComponentDefinition.SurfaceBodies(1).Edges For Each oFaceEdge In oFace.Edges If oEdge Is oFaceEdge Then oPart.SelectSet.Select oEdge End If Next Next End Sub
HTH ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Doc Snyder Ehrenmitglied V.I.P. h.c. Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13408 Registriert: 02.04.2004 AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot DellM4600 2,13GHz 2GB FxGo1400 1920x1200 am Dock Dell2711
|
erstellt am: 07. Okt. 2006 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für Miniman
|