Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  VBA Makro xyz Koordinaten Rohr Leitungs Biegetabelle erstellen auf einer Zeichnung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  VBA Makro xyz Koordinaten Rohr Leitungs Biegetabelle erstellen auf einer Zeichnung (4411 mal gelesen)
kaphil
Mitglied
Konstrukteur

Sehen Sie sich das Profil von kaphil an!   Senden Sie eine Private Message an kaphil  Schreiben Sie einen Gästebucheintrag für kaphil

Beiträge: 2
Registriert: 23.02.2010

Inventor 2009

erstellt am: 23. Feb. 2010 10:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Forumskollegen
Zusammen mit einem Kollegen habe ich ein Makro erstellt welches die eine Tabelle mit xyz Koordinaten, Bigewinkel, Biegeradius usw. einer Inventor Leitungsbaugruppe auf einer Zeichnung erstellt.
Ich wollte dieses hier zur Verfügung stellen weil ich bis jetzt noch keine Makros dieser Art hier im Forum gefunden habe.
Das Makro besteht aus 2 VBA Modulen welche einfach über importieren zum Projekt hinzugefügt werden können.

mfg kaphil

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kaphil
Mitglied
Konstrukteur

Sehen Sie sich das Profil von kaphil an!   Senden Sie eine Private Message an kaphil  Schreiben Sie einen Gästebucheintrag für kaphil

Beiträge: 2
Registriert: 23.02.2010

Inventor 2009

erstellt am: 23. Feb. 2010 10:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

lbcad
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



Sehen Sie sich das Profil von lbcad an!   Senden Sie eine Private Message an Lothar Boekels  Schreiben Sie einen Gästebucheintrag für Lothar Boekels

Beiträge: 3835
Registriert: 15.02.2001

DELL Precision 7520 Win10Pro-64
Inventor mit Vault Professional 2024
---------------------
Während man es aufschiebt,
verrinnt das Leben.
Lucius Annaeus Seneca
(ca. 4 v. Chr - 65 n. Chr.)

erstellt am: 23. Feb. 2010 12:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Hallo Philip,

das ist mal ein Einstandsgeschenk - alle Achtung!

Da sagen wir erst mal recht herzlichen Dank und natürlich
HERZLICH WILLKOMMEN IM CLUB 

------------------
Gruß Lothar

---------------------------------------------------

Während man es aufschiebt, verrinnt das Leben.
Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)

-----------------------------------------------------
Wir unterstützen die Arbeit der:
- Rettungshundestaffel des DRK Viersen
- Rettungshundestaffel Isar Ost

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

xerxses
Mitglied
Laufbursche


Sehen Sie sich das Profil von xerxses an!   Senden Sie eine Private Message an xerxses  Schreiben Sie einen Gästebucheintrag für xerxses

Beiträge: 137
Registriert: 06.09.2011

IV 2018
ACADM 2018

erstellt am: 26. Jan. 2014 14:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Hallo zusammen

habe ein paar Fragen zu den Makros hier.
werde aus der Beschreibung nicht ganz schlau
unter welcher Umgebung müssen die Makros hier ausgeführt werden? welche Reihenfolge?
funktioniert dies auch unter neuere Inventorversionen (2014)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

SuperMatti
Mitglied
Konstruktionsleitung und CAD-Administration

Sehen Sie sich das Profil von SuperMatti an!   Senden Sie eine Private Message an SuperMatti  Schreiben Sie einen Gästebucheintrag für SuperMatti

Beiträge: 3
Registriert: 04.09.2022

Betriebsystemname: Microsoft Windows 10 Pro
Systemname: ALPHA37
Systemhersteller: Dell Inc.
Systemmodell: Precision 7710
Systemtyp: x64-basierter PC
Prozessor: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz, 2701 MHz, 4 Kern(e), 8 logische(r) Prozessor(en)
Grafikkarte: Nvidia Quadro M3000M

erstellt am: 04. Sep. 2022 12:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Hallo zusammen,
das was man hier als VBA-Teil eingestellt hat... so denke ich... dass das eine Top Sache sein und wird und habe mir den VBA-Teil einmal angeschaut.

Blicke aber so ganz nicht da durch.

Hat sich jemand mal damit beschäftigt und kann mir den Ablauf erklären?

Bin für jeden Tip dankbar.

Gruß
Matthias


------------------
Träume Leben

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2630
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 04. Sep. 2022 14:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Hallo

Willkommen im Forum. 

Was verstehst du denn nicht? Wie man den Code importiert und ausführt oder was er wann wie macht?

Import und Ausführung
- Zip Datei herunterladen und entpacken
- Mit Alt + F11 im Inventor der VBA-Editor öffnen
- rechte Maustaste auf das Default Projekt und "Datei importieren" im Kontextmenü auswählen
- beide Dateien nacheinander importieren
- eine Zeichnungsableitung erstellen und eine Erstansicht der Rohrbaugruppe einfügen
- die Sub SET_piping_table() ausführen

Was-Wann-Wie
Die Sub fügt eine Isometrieansicht der Rohrbaugruppe auf dem aktuellen Blatt ein und schließt die Skizzenpunkte des Rohrverlaufes mit ein. Von diesen Punkten werden die 3D-Koordinaten in der Baugruppe ausgelesen. Aus dem ersten und zweiten Punkt der Liste wird der Ursprung und die Richtung eines Hilfskoordinatensystems ermittelt. Das Hilfskoordinatensystem liegt mit seinem Ursprung auf Punkt 1 und X zeigt in Richtung Punkt 2. Aus diesem Hilfskoordinatensystem und dem Weltkoordinatensystem wird eine Transformationsmatrix gebildet. Mit dieser Matrix kann jeder Skizzenpunkt der vorhin ausgelesen wurde auf das Hilfkoordinatensystem umgerechnet werden. Dadurch können alle Abstände und Winkel relativ zum Anfangspunkt des Rohrverlaufes errechnet werden, egal wo er im Weltkoordinatensystem liegt und in welche Richtung das erste Teilstück zeigt. Weiterhin werden, ausgehend von der Annahme das ein Rohrverlauf mit einem geraden Stück beginnt, dann ein Bogen, dann wieder gerade, dann wieder Bogen usw. und am Ende wieder gerade aufhört, die gestreckten Längen, Biegewinkel usw. berechnet. Die berechnet Werte werden in einem Array gespeichert, formatiert und in die Tabelle geschrieben und die Zeichnungsansicht gelöscht.

Die allgemeinen Berechnungsformeln wurden in ein zweites Modul ausgelagert, vermutlich weil die Ersteller sie in anderen Modulen ebenfalls einbinden.

Es ist Geschmackssache wo man die auszuführende Sub einordnet und wie man sie benennt. Für Dritte ist es etwas schwerer, wenn die Hauptsub sich irgendwo mittendrin befindet. Da die beiden davor stehenden Sub nirgends aufgerufen werden, kann man davon ausgehen, dass der gepostete Code Teil einer umfangreicheren Programmierung ist. Die hier aufzurufende Sub wird im Gesamtkonstrukt vermutlich von einer anderen Sub aufgerufen.

------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

SuperMatti
Mitglied
Konstruktionsleitung und CAD-Administration

Sehen Sie sich das Profil von SuperMatti an!   Senden Sie eine Private Message an SuperMatti  Schreiben Sie einen Gästebucheintrag für SuperMatti

Beiträge: 3
Registriert: 04.09.2022

Betriebsystemname: Microsoft Windows 10 Pro
Systemname: ALPHA37
Systemhersteller: Dell Inc.
Systemmodell: Precision 7710
Systemtyp: x64-basierter PC
Prozessor: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz, 2701 MHz, 4 Kern(e), 8 logische(r) Prozessor(en)
Grafikkarte: Nvidia Quadro M3000M

erstellt am: 06. Sep. 2022 12:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Hallo

------------------
Träume Leben

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

SuperMatti
Mitglied
Konstruktionsleitung und CAD-Administration

Sehen Sie sich das Profil von SuperMatti an!   Senden Sie eine Private Message an SuperMatti  Schreiben Sie einen Gästebucheintrag für SuperMatti

Beiträge: 3
Registriert: 04.09.2022

Betriebsystemname: Microsoft Windows 10 Pro
Systemname: ALPHA37
Systemhersteller: Dell Inc.
Systemmodell: Precision 7710
Systemtyp: x64-basierter PC
Prozessor: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz, 2701 MHz, 4 Kern(e), 8 logische(r) Prozessor(en)
Grafikkarte: Nvidia Quadro M3000M

erstellt am: 06. Sep. 2022 12:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Hallo rkauskh,
alles gut... habe das VBA verstanden.

Und läuft auch...

Daumen hoch für die Jungs und Mädels die sich die Zeit genommen haben und das Tool programmiert haben!

Gruss und auch Dir meinen Dank für Deine Antwort.
Matthias

PS: In meiner vorherigen Antwort habe ich zu schnell auf dem Knopf gedrückt gehabt. Sorry!

------------------
Träume Leben

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADroide
Mitglied


Sehen Sie sich das Profil von CADroide an!   Senden Sie eine Private Message an CADroide  Schreiben Sie einen Gästebucheintrag für CADroide

Beiträge: 7
Registriert: 23.10.2024

Inventor Professional 2020

erstellt am: 24. Okt. 2024 16:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Hallo zusammen!

Ich habe das Makro unter Inventor Pro 2020 laufen lassen, funktioniert alles tadellos.
Was mir persönlich nicht so gut gefällt ist, dass neben den klassischen Biegepunkten auch die Anfangs- und Endpunkte aller geraden Segmente zwischen den eigentlichen Biegepunkten dargestellt werden.
Eine klassische Biegetabelle beinhaltet nur Anfangs- und Endpunkt des Rohres und die Biegepunkte, wo auch tatsächlich ein Radius gebogen werden soll.
In Rücksprache mit einem Rohrlieferanten, kann die entsprechende Biegemaschine mit den "Zwischenpunkten" ohne Biegeradius nichts anfangen und gibt eine Fehlermeldung aus. Sicher kann man auch neben Anfangs- und Endpunkt auch nur die Punkte an die Biegemaschine übermitteln wo ein Radius hinterlegt ist, aber das ist letztendlich fehleranfälliger. Pro Biegepunkt kommen immer zwei zusätzliche Punkte in die Biegetabelle. Also bei 5 Biegepunkten sind es dann insgesamt 11 Punkte; bei 10 Biegepunkten hätte man eine Tabelle mit 26 Punkten.
Vielleicht kennt jemand dieses Thema und hat eine angepasste Makro-Version?
Ich habe mir das VBA-Makro angeguckt, aber um das zu verstehen muss ich wohl noch Informatik studieren. ;-)

Danke und schöne Grüße


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2630
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 25. Okt. 2024 10:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Moin

Kannst du mal eine Beispieldatei erstellen, hochladen und beschreiben welche Punkte das Makro einbezieht die deiner Meinung ausgelassen werden sollten? Es läßt sich vermutlich anpassen.

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADroide
Mitglied


Sehen Sie sich das Profil von CADroide an!   Senden Sie eine Private Message an CADroide  Schreiben Sie einen Gästebucheintrag für CADroide

Beiträge: 7
Registriert: 23.10.2024

Inventor Professional 2020

erstellt am: 25. Okt. 2024 19:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich


2024-10-25185019.png


2024-10-25185120.png

 
Zitat:
Original erstellt von rkauskh:
Moin

Kannst du mal eine Beispieldatei erstellen, hochladen und beschreiben welche Punkte das Makro einbezieht die deiner Meinung ausgelassen werden sollten? Es läßt sich vermutlich anpassen.


Moin!

Ich würde gerne die Dateien per Pack&Go bereitstellen, allerdings bin ich mir nicht ganz sicher welche Daten (Firmendaten/-lizenzdaten etc.) über die Dateien mitverschickt werden und auch für die Gemeinheit einsehbar sind. Leider kann ich noch keine PM verschicken, da ich ein neues Forenmitglied bin.
Vielleicht kann ich auf eine PM von dir antworten?

Anbei zwei Screenshots der Beispielsituation.
Das Rohr hat nur sechs Biegepunkte, in der Tabelle erscheinen 14. Ich habe alle Zeilen (Biegepunkte) und auch Spalten markiert, die für meinen Fall nicht benötigt werden.

Ich habe bereits selbst im VBA experimentiert, allerdings reichen meine rudimentären Programmierkenntnisse nicht aus.

Danke und viele Grüße

[Diese Nachricht wurde von CADroide am 25. Okt. 2024 editiert.]

[Diese Nachricht wurde von CADroide am 25. Okt. 2024 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2630
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 28. Okt. 2024 11:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Moin

Hab mir selbst mal ein Beispiel erstellt und arbeite damit. Kann etwas dauern, muss schauen wie ich Zeit finde.

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2630
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 29. Okt. 2024 00:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich

Moin

Kannst du mal testen ob diese Version passt?

Code:

Sub SET_piping_table()

    On Error GoTo 1

    ThisApplication.StatusBarText = "Biegetabelle wird berechnet. Bitte warten..."

    Dim oDrawDoc As DrawingDocument
    Set oDrawDoc = ThisApplication.ActiveDocument
   
    Dim oSheet As Sheet
    Set oSheet = oDrawDoc.ActiveSheet
   
    Dim oAssDoc As AssemblyDocument
    Set oAssDoc = oDrawDoc.AllReferencedDocuments(1)
   
    Dim oPipeDoc As PartDocument
    Set oPipeDoc = oAssDoc.AllReferencedDocuments(1)
   
    Dim SKA As Sketch3D
    Set SKA = oPipeDoc.ComponentDefinition.Sketches3D(1)
   
    Dim oTG As TransientGeometry
    Set oTG = ThisApplication.TransientGeometry
   
    Dim Numberofpoints As Double
    Numberofpoints = SKA.SketchPoints3D.Count
   
    If Numberofpoints < 4 Then
        MsgBox "The Pipe must have at least one bend! Makro will be cancelled", vbCritical, "Piping Makro"
        Exit Sub
    End If
   
    Dim oTable As CustomTable
   
    Dim Columns(4) As String
    Columns(0) = "Punkt" & vbCrLf & "point"
    Columns(1) = "X"
    Columns(2) = "Y"
    Columns(3) = "Z"
    Columns(4) = "Biegeradius" & vbCrLf & "bending radius"

    Dim oColumnWidths(4) As Double
    oColumnWidths(0) = 1.1
    oColumnWidths(1) = 2
    oColumnWidths(2) = 2
    oColumnWidths(3) = 2
    oColumnWidths(4) = 2.5
   
    'Prüfen ob eine Tabelle bereits auf dem Blatt ist...
    Dim tableExists As Boolean
    tableExists = False

    Dim i As Long 'Laufvariable
    For Each oTable In oSheet.CustomTables
        If oTable.Title = "Biegetabelle / bending table" Then
            tableExists = True
            Dim oRow As Row
            For Each oRow In oTable.Rows
                oRow.Delete
            Next
            For i = 0 To 4
                oTable.Columns(i + 1).Title = Columns(i)
            Next i
            Exit For
        End If
    Next
   
    If tableExists = False Then
        Set oTable = oSheet.CustomTables.Add("Biegetabelle / bending table", oTG.CreatePoint2d(2.5, oSheet.Height - 3), 5, 1, Columns, , oColumnWidths)
    End If
   
    'Tabelle formatieren
    oTable.ShowTitle = False
   
    ' Ausrichtung Spaltenköpfe
    For i = 1 To 5
        oTable.Columns(i).ValueHorizontalJustification = kAlignTextCenter
        oTable.Columns(i).TitleHorizontalJustification = kAlignTextCenter
    Next i
   
    'Startpunkt Rohr
    Dim oOrigin As Point
    Set oOrigin = SKA.SketchPoints3D(1).Geometry
   
    'Dokumentursprung (WKS)
    Dim Origin As Point
    Set Origin = oTG.CreatePoint(0, 0, 0)
   
    'Vektor vom Startpunkt zum Ursprung
    Dim oTempVector As Vector
    Set oTempVector = oOrigin.VectorTo(Origin)
   
    'Matrix des Koordinatensystems
    Dim oMatrix As Matrix
    Set oMatrix = oTG.CreateMatrix
   
    'Hinzufügen der Translation
    Call oMatrix.SetTranslation(oTempVector, True)
   
    Dim myTable(1 To 99, 1 To 5) As Variant
    Dim j As Double 'Laufvariable2
   
    i = 0
    Dim oSKPoint As SketchPoint3D
    For Each oSKPoint In SKA.SketchPoints3D
        Dim oPoint As Point
        If oSKPoint.AttachedEntities.Count = 1 Then
            i = i + 1
            myTable(i, 1) = "P" & CStr(i) '9) = "P" & CStr(i)
           
            Set oPoint = oSKPoint.Geometry
            Call oPoint.TransformBy(oMatrix)
           
            myTable(i, 2) = Round(oPoint.x * 20, 0) / 2
            myTable(i, 3) = Round(oPoint.Y * 20, 0) / 2
            myTable(i, 4) = Round(oPoint.Z * 20, 0) / 2
        ElseIf (oSKPoint.AttachedEntities(1).Type = kSketchLine3DObject And oSKPoint.AttachedEntities(2).Type = kSketchLine3DObject) Then
            i = i + 1
            j = j + 1
            myTable(i, 1) = "P" & CStr(i) '9) = "P" & CStr(i)
           
            Set oPoint = oSKPoint.Geometry
            Call oPoint.TransformBy(oMatrix)
           
            myTable(i, 2) = Round(oPoint.x * 20, 0) / 2
            myTable(i, 3) = Round(oPoint.Y * 20, 0) / 2
            myTable(i, 4) = Round(oPoint.Z * 20, 0) / 2
           
            Dim oArc As SketchArc3D
            Set oArc = SKA.SketchArcs3D(j)

            myTable(i, 5) = Round(oArc.Radius * 20, 0) / 2 'oAngle
        End If
    Next

'Werte in Tabelle Schreiben
For i = 1 To UBound(myTable)
    If myTable(i, 1) = "" Then Exit For
   
    If oTable.Rows.Count < i Then
        oTable.Rows.Add
    End If
    oTable.Rows.Item(i).Item(1).Value = myTable(i, 1)
    oTable.Rows.Item(i).Item(2).Value = myTable(i, 2)
    oTable.Rows.Item(i).Item(3).Value = myTable(i, 3)
    oTable.Rows.Item(i).Item(4).Value = myTable(i, 4)
    oTable.Rows.Item(i).Item(5).Value = myTable(i, 5)
    oTable.Rows(i).Height = 0.35
Next i

GoTo 2
1:
On Error Resume Next

MsgBox "Makro has been cancelled! Maybe the standard model for this drawing is no Pipe? There has to be a view of a pipe on the sheet!", vbCritical, "Piping Makro"
2:
End Sub


------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADroide
Mitglied


Sehen Sie sich das Profil von CADroide an!   Senden Sie eine Private Message an CADroide  Schreiben Sie einen Gästebucheintrag für CADroide

Beiträge: 7
Registriert: 23.10.2024

Inventor Professional 2020

erstellt am: 30. Okt. 2024 21:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich


Tube_001_Makro-alt.png


Tube_001_Makro-neu.png


Tube_001_Makro_Probe.png

 
Hallo Ralf!

Entschuldige die späte Rückmeldung, ich bin erst jetzt dazu gekommen das angepasste Makro zu testen.
Was soll ich sagen ... sauber!
Ich habe erst etwas gestutzt, weil die Endpunkte bei den Makros unterschiedlich sind. Aber sicherlich liegt es daran, dass ein anderes "lokales" Bezugskoordinatensystem erzeugt wird.
Ich habe als Gegenprobe das Rohr auf Basis der Biegekoordinaten nachgebastelt und dann übereinandergelegt. Ergebnis = deckungsgleich.
Und natürlich ist die Biegetabelle aufgeräumter. ;-)

Kann man die leeren Spalten (Biege-, Verdrehwinkel, Bogenlänge und Gerade Länge) auch komplett löschen?

Auf jeden Fall Vielen Dank für Deine Mühe!
Schöne Grüße
Manuel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2630
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 30. Okt. 2024 22:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich


Biegetabelle.txt

 
Moin

In meinem Makro sind die Spalten doch gar nicht mehr drin. Sicher das du meines versucht hast? Egal wie, mein letzter Code ist fehlerhaft und funktioniert nur, wenn zufällig a) das erste Rohrstück parallel zur X-Achse liegt, b) der Anfangspunkt im Ursprung liegt und c) der gesamte Verlauf auf der XY-Ebene liegt. Mit dieser Version sollte es besser klappen. Ich hab es nicht ausprobiert, aber in die dritte Dimension darf vermutlich nicht gebogen werden. Z muss immer 0 sein, sonst funktioniert es wahrscheinlich nicht.

Ich hab den Quellcode als Textdatei angehangen, weil hier im Forum gerade irgendwas klemmt und ich oft keine Beiträge mehr erstellen kann. Einfach in ein Modul im VBA-Editor kopieren.

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADroide
Mitglied


Sehen Sie sich das Profil von CADroide an!   Senden Sie eine Private Message an CADroide  Schreiben Sie einen Gästebucheintrag für CADroide

Beiträge: 7
Registriert: 23.10.2024

Inventor Professional 2020

erstellt am: 31. Okt. 2024 08:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich


Vergleich.png

 
Zitat:
Original erstellt von rkauskh:
Moin

In meinem Makro sind die Spalten doch gar nicht mehr drin. Sicher das du meines versucht hast? Egal wie, mein letzter Code ist fehlerhaft und funktioniert nur, wenn zufällig a) das erste Rohrstück parallel zur X-Achse liegt, b) der Anfangspunkt im Ursprung liegt und c) der gesamte Verlauf auf der XY-Ebene liegt. Mit dieser Version sollte es besser klappen. Ich hab es nicht ausprobiert, aber in die dritte Dimension darf vermutlich nicht gebogen werden. Z muss immer 0 sein, sonst funktioniert es wahrscheinlich nicht.

Ich hab den Quellcode als Textdatei angehangen, weil hier im Forum gerade irgendwas klemmt und ich oft keine Beiträge mehr erstellen kann. Einfach in ein Modul im VBA-Editor kopieren.




Guten Morgen Ralf!
Zum Thema Spalten: Ich hatte in diesem Fall nur die existierende Biegetabelle überschrieben, deswegen waren die Spalten noch da. Hat man eine neue Zeichnung, oder löscht die Biegetabelle vom alten Makro, dann ist alles sauber.
Ich habe eine Probe mit einem weiteren Rohr gemacht, welches nicht im Ursprung beginnt und keins der Rohrsegmente parallel zu den Hauptachsen verläuft. Sieht alles sehr gut. Die zweite angepasste Version von Dir ist sehr gut. Ich habe beide miteinander verglichen --> siehe Anhang.
Ich werde bei Gelegenheit noch ein paar Probeläufe machen und dann berichten.

Auf jeden Fall vielen Dank für die großartige Hilfe!

Schöne Grüße
Manuel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MacFly8
Ehrenmitglied V.I.P. h.c.
Konstrukteur Kessel- & Feuerungsbau


Sehen Sie sich das Profil von MacFly8 an!   Senden Sie eine Private Message an MacFly8  Schreiben Sie einen Gästebucheintrag für MacFly8

Beiträge: 2027
Registriert: 13.08.2007

HP Z17;
64GB RAM; Nvidia Quadro RTX3000;
Inventor Professional PDSU 2012/2020
Mechanical 2012/2020

erstellt am: 31. Okt. 2024 13:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kaphil 10 Unities + Antwort hilfreich


Biegung_001.pdf

 
Moin,

die Tabelle oben im Beitrag enthält zusätzlich zur XYZ Ausgabe auch die YBC Ausgabe für Biegemaschinen.
Eventuell verwirrend durch die zusätzlichen Informationen, da die Tabelle oben für YBC nicht nur die geraden Längen sondern auch die XYZ Koordinaten Punkte der geraden Länge, sowie die Bogenlänge enthält, beide Angaben sind eigentlich nicht für das Format YBC notwendig.

YBC hat den Vorteil das man die gestreckte Länge des Rohres erhält, während XYZ einem die Länge der Abstände zwischen den Koordinaten ausgibt.
Am Ende kommt es darauf an was der Fertiger in seine Maschine eingeben kann. Ansonsten muss er XYZ in YBC umrechnen oder umgekehrt.

In meinen Augen aber nicht schlimm ich gebe einem Fertiger lieber zuviele Maße als das er selber rechnen/ denken muss zudem ist man dann flexibler zumindest bei mir in der Branche weiß ich vorher nie wer fertigt.

XYZ-Format
Ein Ausgabeformat von numerisch gesteuerten Biegungsmaschinen, das eine Punktidentifizierung mit kartesischen X-, Y- und Z-Werten für jeden Biegepunkt mit einem Biegeradiuswert enthält. Ein Header- und Footer-String kann auch Informationen wie Gesamtzahl der Punkte, Anzahl der geraden Segmente und Gesamtlänge der Mittellinie enthalten.

YBC-Format
Ein Ausgabeformat von numerisch gesteuerten Biegungsmaschinen, das eine Punktidentifizierung mit Werten für gerade Länge zwischen den Biegungen (Y), Drehung zwischen den Biegungen (B) und Bogenwinkel der Biegung (C) mit einem Biegeradiuswert enthält. Ein Header- und Footer-String kann auch Informationen wie Gesamtzahl der Punkte, Anzahl der geraden Segmente und Gesamtlänge der Mittellinie enthalten. Wird auch als LRA-Format (Length, Rotation und Angle) bezeichnet.

Hab mal eine Beispiel Datei angehangen damit alle unklarheiten beseitigt sind.

MfG MacFly

------------------
- - - der Erleuchtung ist es egal wie du Sie erlangst - - -
- - - Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont - - - (K. Adenauer)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz