Hallo Experte!!
bin zu ersten Mal hier...also schöner Gruß an allen Forum user.
Habe mit Programmierung bei Inventor gerade angefangen und versuche Invertor API Hilfe durchzuarbeiten. Und jetzt möchte ich mein eigenes Programm erstellen, und weiß ich nicht wie es geht...also hier meine Frage:
Ich möchte auf eine Skizze einen Kreis zeichnen, wobei ich über mein eigenes Fensterchen(natürlich unter Inventor) das Radius und Position des Mittelpunkts eingebe.
Zunächst habe ich ein add-in erstellt, das ein Formular erstellen soll, wo ich meine Eingaben eintippen kann..das hat funktioniert. Aber wenn ich versuche den Kreis zu zeichne, kriege ich einen Laufzeitfehler '429': Objekterstellung durch ActiveX-Komponenten nicht möglich.
Also, zuerst habe ich ein dll-Projekt erstellt und durch Verweise auf Inventor object library zugegriffen(sowie die API Hilfe von Inventor), und noch einen Formular(frmZeichnen.frm) in das Projekt hinzugefügt. Aus dem Klassenmodul rufe ich den Formular auf durch
Call frmZeichnen.Show
und das ist die Prozedur bei dem Formular, die den Kreis zeichnet..
Private Sub Kreis(oSketch As PlanarSketch)
Dim oTransGeom As TransientGeometry
Set oTransGeom = ThisApplication.TransientGeometry
Dim oCircle As SketchCircle
If optRad = True Then
Set oCircle = oSketch.SketchCircles.AddByCenterRadius(oCoord, txtRadDrchmsr.Text)
Else
Set oCircle = oSketch.SketchCircles.AddByCenterRadius(oCoord, txtRadDrchmsr.Text / 2)
End If
End Sub
und ein Klick auf dem Button cmdZeichne wird diese Prozedur aufgerufen:
Private Sub cmdZeichne_Click()
Set oApp = inventor.ThisApplication
Set oDoc = oApp.ActiveDocument
' Zeichne den Kreis mit der Eingabe von Formular
Call Kreis(oDoc)
End Sub
Bin ich komplett falsch umgegangen oder ist die Vorgehensweise wenigsten richtig? Wäre sehr dankbar für eine Antwort von einem Kenner....sorry für die lange Frage und mühsames Lesen.
Simonjung
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP