.NET

Reply
Active Contributor
aielli
Posts: 32
Registered: ‎03-07-2006
Message 1 of 13 (1,104 Views)

ThisDrawing.Path equivalent

1104 Views, 12 Replies
01-05-2010 05:29 AM
What's the equivalent of ThisDrawing.Path in VB.NET?

Here's what I think it should be... but it's not working:

Dim AcadDoc As Document = Application.DocumentManager.MdiActiveDocument
AcadDoc.Path? or GetPath?

Slowly learning... thanks for the help.
eric
Active Contributor
deanlyon
Posts: 27
Registered: ‎12-10-2007
Message 2 of 13 (1,104 Views)

Re: ThisDrawing.Path equivalent

01-05-2010 07:41 AM in reply to: aielli
In C# i did it this way:
AcadApplication oAcadApp = (AcadApplication)Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication;
String sFilePath = oAcadApp.ActiveDocument.Path + "\\" + oAcadApp.ActiveDocument.Name;

so, In VB.NET I think it would be like this:

Dim oAcadApp as AcadApplication
Dim sFilePath as String
Set oAcadApp = Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication;
sFilePath = oAcadApp.ActiveDocument.Path & "\" & oAcadApp.ActiveDocument.Name;

The path is only the path and the name is only the name.
Active Contributor
aielli
Posts: 32
Registered: ‎03-07-2006
Message 3 of 13 (1,104 Views)

Re: ThisDrawing.Path equivalent

01-05-2010 11:03 AM in reply to: aielli
Thanks, but I don't believe that ActiveDocument is a property of AcadApplication.

I'm using AutoCAD 2010... not sure if this has changed...
*Expert Elite*
arcticad
Posts: 1,286
Registered: ‎06-21-2004
Message 4 of 13 (1,104 Views)

Re: ThisDrawing.Path equivalent

01-05-2010 11:24 AM in reply to: aielli
This works in 2010
{code}
Dim oAcadApp As Autodesk.AutoCAD.ApplicationServices.Document
oAcadApp = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
MsgBox(oAcadApp.Name)
{code}
---------------------------



(defun botsbuildbots() (botsbuildbots))
Active Contributor
aielli
Posts: 32
Registered: ‎03-07-2006
Message 5 of 13 (1,104 Views)

Re: ThisDrawing.Path equivalent

01-05-2010 11:52 AM in reply to: aielli
Thank you!

Didn't realize that the Name property gave the full path.
*Expert Elite*
_gile
Posts: 2,132
Registered: ‎04-29-2006
Message 6 of 13 (1,104 Views)

Re: ThisDrawing.Path equivalent

01-05-2010 12:05 PM in reply to: aielli
AcadDoc.Name was the reply I gave in your duplicated post:
http://discussion.autodesk.com/forums/thread.jspa?threadID=757438&tstart=0

> Thanks, but I don't believe that ActiveDocument is a property of AcadApplication.
Yes it is, but DeanLyon is using COM interop rather than .NET API
Gilles Chanteau
*Expert Elite*
arcticad
Posts: 1,286
Registered: ‎06-21-2004
Message 7 of 13 (1,104 Views)

Re: ThisDrawing.Path equivalent

01-05-2010 10:48 PM in reply to: aielli
As mentioned above, This works with COM in 2010

{code}
Dim oAcadApp As Autodesk.AutoCAD.Interop.AcadApplication
Try
oAcadApp = GetObject(, "AutoCAD.Application.18")
Dim sFilePath As String
sFilePath = oAcadApp.ActiveDocument.Path & "\" & oAcadApp.ActiveDocument.Name
MsgBox(sFilePath)
Catch ex As Exception
oAcadApp = Nothing
End Try
{code}
---------------------------



(defun botsbuildbots() (botsbuildbots))
Valued Contributor
RPeter
Posts: 91
Registered: ‎01-09-2009
Message 8 of 13 (942 Views)

Re: ThisDrawing.Path equivalent

01-13-2011 08:04 AM in reply to: aielli

Is there an equivalent for the .path for the .NET API? I don't have COM installed :smileyhappy: I'm looking for it a couple days now but can't find a way to do it.

Active Contributor
dan.glassman
Posts: 43
Registered: ‎09-23-2008
Message 9 of 13 (934 Views)

Re: ThisDrawing.Path equivalent

01-13-2011 09:25 AM in reply to: aielli

Whoa -- no need for COM.

 

 

Document doc = Application.DocumentManager.MdiActiveDocument;
string path = Path.GetDirectoryName(doc.Database.Filename);

 

 

Distinguished Mentor
gasty1001
Posts: 582
Registered: ‎04-11-2010
Message 10 of 13 (923 Views)

Re: ThisDrawing.Path equivalent

01-13-2011 12:15 PM in reply to: aielli

What about the "DWGPREFIX" system variable, it's easy to check in both .NET and COM interop.

 

 

Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Announcements
Do you have 60 seconds to spare? The Autodesk Community Team is revamping our site ranking system and we want your feedback! Please click here to launch the 5 question survey. As always your input is greatly appreciated.