Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor .NET
  Beispiel für VB.NET ADDIN?

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:  Beispiel für VB.NET ADDIN? (4042 mal gelesen)
J.Schmäck
Mitglied
Dipl. Ing. Maschinenbau


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

Beiträge: 62
Registriert: 16.01.2004

IV6... IV10
Windows2000, Dell Workstation PWS650
2X CPU 2,4 GHz
2 GB RAM
ATI Fire GL X1

erstellt am: 06. Feb. 2006 20:03    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 NG,
ich arbeite mit VB.NET und möchte gerne eigene Addins in Inventor10 einbinden. Leider sind keine Beispiele für VB.Net im INV10 Verzeichnis:\Autodesk\Inventor 10\SDK\Samples\Vb.net

Wie ich aus den Beiträgen in dieser NG ersehen kann, ist das Einbinden auch nicht ganz einfach.
Hat jemand ein kleines Beispielprojekt und kann dieses Projekt hier als Download anbieten?

Oder kennt jemand einen guten Link?

Danke für jeden Tipp!

Mit freundlichen Grüßen

------------------
J.Schmäck

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570
Laptop: Alienware m17x
Win7, Inventor2012

erstellt am: 08. Feb. 2006 17:54    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 J.Schmäck 10 Unities + Antwort hilfreich

Hallo J.Schmäck,

was hast du eigentlich vor? Die Tipps, wie ein einfaches AddIn mit Button und Icons zu erstellen ist, wären hier erklärt. Vielleicht schickt dir der BernardU sein Bespielkonstrukt.

Und warum schreiben alle in VB.NET? Ich finde C# viel schöner. 

------------------
Grüße daywa1k3r

FX64 Software Solutions
Mold&More Software Solutions

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

J.Schmäck
Mitglied
Dipl. Ing. Maschinenbau


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

Beiträge: 62
Registriert: 16.01.2004

IV6... IV10
Windows2000, Dell Workstation PWS650
2X CPU 2,4 GHz
2 GB RAM
ATI Fire GL X1

erstellt am: 09. Feb. 2006 19: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

Warum VB.Net? Ich habe mit dem C64 angefangen, und da war nun mal Basic drauf.
Die neue Version von VB.Net ist, schnell, relativ gut zu erlernen und bietet dem Benutzer viele Hilfsangebote an. Kurz: VB.Net ist einfach super.

Was will ich:

Ich habe verschiedene Windows Anwendungen geschrieben, mit denen ich mir die tägliche Arbeit erleichtere.
zwei Beispiele:
Ein Programm, mit dem man X,Y,Z Punktelisten aus Excel oder Word Tabellen lesen kann und diese Punkte dann als Bohrpunkte oder nur Punkte oder durch Angabe eines zusätzlichen Radius  auch als Kreis in eine Inventor.ipt importieren kann. Und…

Ein Programm, das eine Inventor.idw nach ihrer Zeichnungsgröße (Papierformat und Ausrichtung) fragt und dann entscheidet welcher meiner Drucker das Papier drucken soll.
So kann ich mit einem Klick drucken. Außerdem kann ich Seriendruckaufträge auslösen ohne Inventor offen zu haben. Und…


Ich möchte:
1. diese Programme in der Inventor Umgebung zum laufen bringen.
2. Eine Setup-Datei erzeugen um gute Programm-Ideen auch anderen Inventornutzern zugänglich zu machen. (Freeware)


Mein heutiger Stand:

Ich habe ein Projekt erstellt, eine StandardAddInServer Applikation erstellt.
Durch umschreiben eines Visual Basic6-Listing konnte ich in Inventor 10 eine neue Toolbar, Button´s und Comboboxen erstellen. Von meinem Zielen bin ich aber noch viele Stunden „Versuch und Irrtum“ entfernt.

Ich kann das Button_Click Ereignis nicht auslösen oder nicht richtig nutzen:
Dieses Ereignis scheint im Inventor _OnExecute zu heißen und die folgende Sub sollte
angesprochen werden!?

Private Sub oButtonTest_OnExecute(ByVal Context As Inventor.NameValueMap)

‘Hier soll meine Anwendung gestartet werden!?
   
End Sub


Mit einem guten Beispiel käme ich einfach schneller zum Ziel!

(PS.: Ich bin Hobby Programmierer, kann also weder VB.Net noch Inventor API perfekt)

------------------
J.Schmäck

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

BernhardU
Mitglied
Techniker / Konstrukteur / Student


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

Beiträge: 328
Registriert: 17.08.2005

Windows XP SP3
AIP 2011
VS 2005

erstellt am: 09. Feb. 2006 20:14    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 J.Schmäck 10 Unities + Antwort hilfreich


InventorAddIn.zip

 
Hi J.Schmäck!
Endlich mal wieder ein VB.Net Hobbyprogrammierer wie ich!

Hab dir ein kleines Beispiel rangehängt! Hoffe es klappt! Hatte keine Zeit zum Testen!
Ich musste auch die erstellte dll Datei löschen weil die Datei sonst zu groß wäre!
musst du dann einfach selbst erstellen! 

Sollte es nicht funktionieren, dann einfach wieder melden!!

Hoffe es hilft!

mfg bernhard
PS: Hätte ich ja fast vergessen!
Autodesk hat zu IV ein nettes und hilfreiches Tool beigelegt!
IV Wizard! Einfach mal den Inventor Ordner durchforsten!
erspart einiges an schreibarbeit!

[Diese Nachricht wurde von BernhardU am 09. Feb. 2006 editiert.]

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

J.Schmäck
Mitglied
Dipl. Ing. Maschinenbau


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

Beiträge: 62
Registriert: 16.01.2004

IV6... IV10
Windows2000, Dell Workstation PWS650
2X CPU 2,4 GHz
2 GB RAM
ATI Fire GL X1

erstellt am: 09. Feb. 2006 20:22    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 Bernhard U,
danke für dein Beispiel, ich schaue es mir gleich mal an.

Melde mich hier dann noch mal!

(Kann aber etwas dauern)

Bis dann.

------------------
J.Schmäck

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

J.Schmäck
Mitglied
Dipl. Ing. Maschinenbau


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

Beiträge: 62
Registriert: 16.01.2004

IV6... IV10
Windows2000, Dell Workstation PWS650
2X CPU 2,4 GHz
2 GB RAM
ATI Fire GL X1

erstellt am: 09. Feb. 2006 22: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

Hallo Bernhard U,
ich habe dein Beispiel mit VB bearbeitet:
1. Imports Microsoft.VisualBasic.Compatibility.VB6
2. zwei BMP besorgt und die Pfad auf diese BMP gebogen
3. Inventor Aus
4. InventorAddin neu erstellen
5. Inventor an
6. eine Zeichnung geöffnet
7. in Inventor: Extras/Anpassen  hier sollte jetzt: „SMC Zeichnung“ zu finden sein! Ist aber nicht. Das hatte ich gestern bei einem anderen Versuch auch.

Public Sub Activate(ByVal AddInSiteObject As Inventor.ApplicationAddInSite, ByVal FirstTime As Boolean) Implements Inventor.ApplicationAddInServer.Activate

…..

Wenn ich es richtig verstanden habe, ist FirstTime nur einmal: True – wenn das Addin noch nicht registriet ist. Damit hätte die For-Next Schleife und die If-Abfrage keinen wirklichen sinn, nur der
Else-Teil würde einmal durchlaufen (Wenn FirstTime=True) und erst nach diesem Durchlauf ist die CommandBar: "SMC Zeichnung" erzeugt. Richtig?


If FirstTime Then
Dim i As Long
                    For i = 1 To oApp.UserInterfaceManager.CommandBars.Count
  If oApp.UserInterfaceManager.CommandBars(i).DisplayName = "SMC Zeichnung" Then
                            Call oApp.UserInterfaceManager.CommandBars(i).Controls.AddButton(blattbutton)
                        Else
                            Dim ocommandbar As CommandBar
                            ocommandbar = InventorApplication.UserInterfaceManager.CommandBars.Add("SMC Zeichnung", "Blattgröße:smczeichnung", CommandBarTypeEnum.kRegularCommandBar, "{0984F160-7937-4EFB-ADE6-8339EDA769F0}")

                            Call ocommandbar.Controls.AddButton(blattbutton)

                        End If
                    Next
End If
    …

End Sub

Wenn ich die If-Abfrage ausblende und deinen Code da zwischen ausführen lasse, bekomme ich beim Start von INV10 eine Fehlermeldung, aber die CommandBar: "SMC Zeichnung" ist dann vorhanden, aber auch nicht funktionsfähig.

‘If FirstTime Then

Code ausführen

‘End if

Für heute ist Schluss!


------------------
J.Schmäck

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

BernhardU
Mitglied
Techniker / Konstrukteur / Student


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

Beiträge: 328
Registriert: 17.08.2005

Windows XP SP3
AIP 2011
VS 2005

erstellt am: 10. Feb. 2006 15: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 J.Schmäck 10 Unities + Antwort hilfreich

Hi J.Schmäck!

Die Schleife und die If Auswahl haben den Sinn, da ich mehrere AddIns geschrieben habe und ich alle in die Gleiche Commandbar setzten will schaue ich, ob die Commandbar vorhanden ist, wenn ja denn füge ich nur den Button hinzu uns sonst wird sie neu generiert!
Möglicherweise, kann das IV Wizard dein Prolem lösen! Dass du möglicherweise etwas übersehen hast?
Ja die FirstTime Variable wird ihrem Namen gerecht und beim ersten mal aktivieren des AddIns ist sie True!

Du kanns auch testen, ob du überhaupt bis zu diesen Sub
Public Sub Activate(ByVal AddInSiteObject As Inventor.ApplicationAddInSite, ByVal FirstTime As Boolean) Implements Inventor.ApplicationAddInServer.Activate
kommst, indem du das Module von Daywalker einbindest
hier
und dann mithilfe der logfunktion schauts ob das AddIn anspricht!

versuch mal das:

blattbutton = InventorApplication.CommandManager.ControlDefinitions.AddButtonDefinition("Blatt", "Schriftfeld_einfügen:cmdblatt1", CommandTypesEnum.kQueryOnlyCmdType, "{0178C13E-EB13-4639-B7C7-7A97EDDDC06A}", "Blattgröße definieren", "Blattgröße definieren")
                blattbutton.Enabled = True
                blattbutton2 = blattbutton

If FirstTime Then
Dim ocommandbar As CommandBar
ocommandbar =
nventorApplication.UserInterfaceManager.CommandBars.Add("SMC Zeichnung", "Blattgröße:smczeichnung", CommandBarTypeEnum.kRegularCommandBar, "{0178C13E-EB13-4639-B7C7-7A97EDDDC06A}")
Call ocommandbar.Controls.AddButton(blattbutton)
                                     
End If

Ich hab auch gerade entdeckt, dass ich dir die Falsche ID eingetragen hab bei den! Bei den Buttondefinitionen und den Comandbar-Definitionen musst du immer die ID eintragen, die beim StandardAddInServer ganz oben Steht = ProgID

Ich würde einfach mal die Icons für den Button weglassen und auch die Schleife mit der Ifbedingung!
Einfach bei Firststart dieCommandbar definieren und den Button zuweisen!

Hoffe, dass es jetzt klappt!!

mfg Bernhard

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

J.Schmäck
Mitglied
Dipl. Ing. Maschinenbau


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

Beiträge: 62
Registriert: 16.01.2004

IV6... IV10
Windows2000, Dell Workstation PWS650
2X CPU 2,4 GHz
2 GB RAM
ATI Fire GL X1

erstellt am: 10. Feb. 2006 17:34    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 Bernhard U,
danke das du mir geholfen hast!

Das zweie Beispiel hat funktioniert und ich denke ich komme
jetzt weiter.

------------------
J.Schmäck

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