Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Bohrung mit VBA erstellen

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
Autor Thema:  Bohrung mit VBA erstellen (2629 mal gelesen)
RalphRX8
Mitglied
Kontruktionsbüro


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

Beiträge: 333
Registriert: 17.11.2004

AutoCAD-Mechanical 2017, SolidEdge ST8

erstellt am: 16. Mai. 2005 11:44    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 zusammen,

ich habe bisher nur AutoCAD und Office-Programme mit VBA programmiert und möchte nun die ersten Gehversuche im Inventor machen.
Ist leider nicht so einfach zu durchschauen und vernünftige Bücher scheint es nicht zu geben.
Ich habe folgendes Problem:

Ich möchte anhand einer Excel-Tabelle automatisch Bohrungen im Inventor erzeugen.
Habe einen Körper mit massig Tieflochbohrungen im Autocad mit einer Bohrtabelle bemaßt, in der alle notwendigen Daten wie Ø, Winkel und tiefe bzw. Startpunkt eingetragen sind.
Möchte nun anhand dieser Tabelle automatisch die Bohrungen im Inventor erzeugen lassen.
Ist dies möglich, bzw. hat mir jemand einen Beispielcode, wie ich im Inventor eine Bohrung mit VBA erzeugen kann?
Die Excel-Daten einzulesen werde ich selber hinbekommen.

Bin für jeden Tip dankbar.
Viele Grüße
Ralph

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

SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

erstellt am: 17. Mai. 2005 09:59    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 RalphRX8 10 Unities + Antwort hilfreich

Hallo Ralph,
schau mal im Samples - dort ist folgendes Beispiel


Public Sub HoleSample()
    ' Create a new part document, using the default part template.
    Dim oPartDoc As PartDocument
    Set oPartDoc = ThisApplication.Documents.Add(kPartDocumentObject, _
                ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject))
                   
    ' Set a reference to the component definition.
    Dim oCompDef As PartComponentDefinition
    Set oCompDef = oPartDoc.ComponentDefinition
   
    ' Create a new sketch on the X-Y work plane.
    Dim oSketch As PlanarSketch
    Set oSketch = oCompDef.Sketches.Add(oCompDef.WorkPlanes.Item(3))

    ' Set a reference to the transient geometry object.
    Dim oTransGeom As TransientGeometry
    Set oTransGeom = ThisApplication.TransientGeometry
   
    ' Create a rectangle on the sketch.
    Call oSketch.SketchLines.AddAsTwoPointRectangle( _
                                        oTransGeom.CreatePoint2d(0, 0), _
                                        oTransGeom.CreatePoint2d(6, 4))
                                       
    ' Create the profile.
    Dim oProfile As Profile
    Set oProfile = oSketch.Profiles.AddForSolid
   
    ' Create an extrusion.
    Call oCompDef.Features.ExtrudeFeatures.AddByDistanceExtent(oProfile, _
                                    "2 cm", kNegativeExtentDirection, kJoinOperation)
                                   
    ' Create a new sketch to contain the points that define the hole centers.
    Set oSketch = oCompDef.Sketches.Add(oCompDef.WorkPlanes.Item(3))
   
    ' Create an object collection for the hole center points.
    Dim oHoleCenters As ObjectCollection
    Set oHoleCenters = ThisApplication.TransientObjects.CreateObjectCollection
   
    ' Add two points as hole centers.
    oHoleCenters.Add oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(1, 1))
    oHoleCenters.Add oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(5, 1))
   
    ' Create the hole feature.
    Call oCompDef.Features.HoleFeatures.AddDrilledByThroughAllExtent( _
                            oHoleCenters, "1 cm", kPositiveExtentDirection)

    ' Define tap information.
    Dim oHoleTapInfo As HoleTapInfo
    Set oHoleTapInfo = oCompDef.Features.HoleFeatures.CreateTapInfo(False, True, _
                            True, "0.4375", "7/16-14 UNC", "1B", _
                            kThreadMinorDiameter, False, "ANSI Unified Screw Threads", _
                            "1 cm", 0.4375, , 0.36, 0.376, 0.3911, 0.4003, 0.378)
                           
    ' Create a new sketch for the tapped hole centers.
    Set oSketch = oCompDef.Sketches.Add(oCompDef.WorkPlanes.Item(3))
   
    ' Create a new object collection for the hole center points.
    Set oHoleCenters = ThisApplication.TransientObjects.CreateObjectCollection
   
    ' Add two points as hole centers.
    oHoleCenters.Add oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(1, 3))
    oHoleCenters.Add oSketch.SketchPoints.Add(oTransGeom.CreatePoint2d(5, 3))
   
    ' Create the hole feature.
    Call oCompDef.Features.HoleFeatures.AddDrilledByThroughAllExtent( _
                            oHoleCenters, oHoleTapInfo, kPositiveExtentDirection)
End Sub

Gruß
Seher

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

RalphRX8
Mitglied
Kontruktionsbüro


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

Beiträge: 333
Registriert: 17.11.2004

AutoCAD-Mechanical 2017, SolidEdge ST8

erstellt am: 17. Mai. 2005 10:37    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

Danke Seher,

aber ich kann dieses Sample bei mir nicht finden.
Und wenn ich Deinen Code über die Zwischenablage in den Inventor einfüge, bringt er mir beim starten des Codes in der Code-Rubrik "Define Tab Info" in der Zeile mit "CreateTabInfo" die Fehlermeldung "Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft".

Kannst Du mir sagen wie das File dieses Samples heißt, bzw. in welchem Zustand der Inventor(Skizze oder nicht) sein muß.

Dank im vorraus

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

RalphRX8
Mitglied
Kontruktionsbüro


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

Beiträge: 333
Registriert: 17.11.2004

erstellt am: 17. Mai. 2005 11:21    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

Also, bin auf den Fehler selbst gekommen.
Wahrscheinlich benutzt Du eine andere Inventorversion.
Bei mir im Inventor 9 ist die Reihenfolge der Argumente anders.
Habs also doch noch gefunden und zum Laufen gebracht.

Danke. Damit komm ich erstmal weiter.
Muß es jetzt nur noch hinbekommen, eine Bohrung in einem bestimmten Winkel zu machen.

Gruß Ralph

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

SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

Inventor 2 bis 2022
häufig wechselnder Rechnerverkehr

erstellt am: 17. Mai. 2005 12:12    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 RalphRX8 10 Unities + Antwort hilfreich

Da musst Du wohl die Skizze ein bisschen verdrehen!

Gruß
Seher

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

RalphRX8
Mitglied
Kontruktionsbüro


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

Beiträge: 333
Registriert: 17.11.2004

erstellt am: 17. Mai. 2005 13:09    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

Geht das?
Hätte jetzt irgenwie versucht arbeitsachsen zu erstellen, die ich dann als Pfad für die Bohrung angegeben hätte.
Denke aber, daß das jede Menge Skizzen gibt.
Das mit dem verdrehen wäre interessant.
Hast Du mir dazu einen Tip?

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

SEHER
Mitglied
Systemanalytiker


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

Beiträge: 1203
Registriert: 13.03.2001

Inventor 2 bis 2022
häufig wechselnder Rechnerverkehr

erstellt am: 17. Mai. 2005 13:45    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 RalphRX8 10 Unities + Antwort hilfreich

Erstelle mal manuell eine schräege Bohrung. Entlang eines Pfades ergibt kein feature Bohrung. Also erst schräge Arbeitsebene, dann diese Ebene noch aus dem Material herausziehen(Arbeitsebene2) sonst bleibt beim Bohren etwas stehen; dann Skizze auf diese Arbeitsebene und Startpunkt projez. oder Arbeitsachse schneiden lassen mit Arbeitsebene und dann kommt erst das Bohrfeature.

Gruß
Seher   

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)2023 CAD.de | Impressum | Datenschutz