.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Windows form based stand alone application

3 REPLIES 3
Reply
Message 1 of 4
PasxosC
4445 Views, 3 Replies

Windows form based stand alone application

hello,i am new in programming and in my first succesfull attempt i developed a windows form based stand alone application in Vb.net 2010 that calculates all the geometry data needed for a Spur Gear ,my final goal is to send all Calculated data needed in Autocad 2012 and draw automatticly the Spur Gear.

 

1.PNG

 

 2.PNG

 

 

3.PNG

 

At first i started to experiment my self with a simple only task (created a new project only for this) to draw 4 circles with the same center (radius1,2,3,4) in autocad with a simple click of the command button.

The code i used is the following (for 1circle) but it returned a error  like this>>         SendACommandToAutoCAD()-->>Could not load file or assembly 'Acmgd, Version=18.2.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

 

 

 

Imports Autodesk.AutoCAD.ApplicationServices

Imports Autodesk.AutoCAD.Runtime


Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        SendACommandToAutoCAD()
    End Sub
    <CommandMethod("SendACommandToAutoCAD")> _
    Public Sub SendACommandToAutoCAD()

        Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument



        '' Draws a circle and zooms to the extents or

        '' limits of the drawing

        acDoc.SendStringToExecute("._circle 2,2,0 4 ", True, False, False)

        acDoc.SendStringToExecute("._zoom _all ", True, False, False)

    End Sub

End Class

 

 

3 REPLIES 3
Message 2 of 4
norman.yuan
in reply to: PasxosC

The AutoCAD .NET API Assemblies (acadmgd.dll, acmgd.dll...) CANNOT be used in stand-alone exe app. They can ONLY be used inside AutoCAD (NETLOADed DLLs into AutoCAD).

 

In your case, if you must use a stand-alone app, then you can use Acad COM API to automate AutoCAD. But do not addict to use something like "SendCommand()". Explore Acad COM object model to create/manipulate AutoCAD entities and Acad environment.

 

However, you need to be carefully analyse the app's usability to deside if you want to automate Acad from an external exe or not.

 

For example, if you expect user does the data entry via the forms you provided and sees Acad in action right way, so that user can adjust the entered data, then EXE + automated Acad might not be a best approach in terms of userability, because user needs to constantly make switch between your app and Acad, no to mention possible other apps the user may have to use in the same time. Worse, user may clicked wrong place and accidently closed the running Acad session that automated by your app. So, in this case, it will be far better that your app runs inside AutoCAD, so there is no confusion to the user where he/she is working in. I'd only make EXE + Acad automation as my last option

 

OTH, if user mainly collects data via your app, and mostly make Acad draw something later, then your app can store the entered data somewhere (file, database) and you have code in AutoCAD that reads data in and does the drawing, thus, avoid the out-process AutoCAD automation.

 

Norman Yuan

Drive CAD With Code

EESignature

Message 3 of 4
PasxosC
in reply to: PasxosC

thanks for the reply,much appreciated and helpful,now i understand the type of the error,maybe i try another aproach to my problem.

Thanks again

Message 4 of 4
StephenPreston
in reply to: PasxosC

If you want to create a DWG directly from your executable, you could licnese RealDWG - www.autodesk.com/realdwg.

Cheers,

Stephen Preston
Autodesk Developer Network

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost