.NET

Reply
Active Contributor
32 Posts
0 Kudos
Registered: ‎03-07-2006
Post 1 of 13

ThisDrawing.Path equivalent

1114 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
34 Posts
1 Kudo
Registered: ‎12-10-2007
Post 2 of 13

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
32 Posts
0 Kudos
Registered: ‎03-07-2006
Post 3 of 13

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*
1,286 Posts
37 Kudos
Registered: ‎06-21-2004
Post 4 of 13

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
32 Posts
0 Kudos
Registered: ‎03-07-2006
Post 5 of 13

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*
2,140 Posts
253 Kudos
Registered: ‎04-29-2006
Post 6 of 13

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*
1,286 Posts
37 Kudos
Registered: ‎06-21-2004
Post 7 of 13

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
92 Posts
0 Kudos
Registered: ‎01-09-2009
Post 8 of 13

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
43 Posts
1 Kudo
Registered: ‎09-23-2008
Post 9 of 13

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
582 Posts
91 Kudos
Registered: ‎04-11-2010
Post 10 of 13

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
Are you interested in helping shape the future of the Autodesk Community? To participate in this brief usability study, please click here. Your time and input is greatly appreciated!