.NET

Reply
Active Contributor
28 Posts
0 Kudos
Registered: ‎01-31-2014
Post 1 of 5
Accepted Solution

Add Support paths via DLL vb.net

403 Views, 4 Replies
04-15-2014 02:33 AM

I have created a ribbon and would like to add the support path's in to autocad when the ribbon is loaded

 

I only want to add the Support path if it has not already been added

 

I would want to add somthing like

 

C:\Program files\Folder1

C:\Program files\Folder2

C:\Program files\Folder3

C:\Program files\Folder4

 

But if folder 3 was already there for some reason i would like it to skip folder3 and then add the other ones that wernt aready there

Try with this code.

 

Public Sub Set_Path()
Dim acad_pref As AcadPreferences = Autodesk.AutoCAD.ApplicationServices.Application.Preferences
Dim C_Paths As String = LCase(acad_pref.Files.SupportPath)
Dim Old_Path_Ary As List(Of String) = New List(Of String)
Old_Path_Ary = C_Paths.Split(";").ToList
Dim New_paths As List(Of String) = New List(Of String)
New_paths.Add("C:\Program files\Folder1")
New_paths.Add("C:\Program files\Folder2")
New_paths.Add("C:\Program files\Folder3")
New_paths.Add("C:\Program files\Folder4")
For Each Str As String In New_paths
If Not Old_Path_Ary.Contains(Str) Then
Old_Path_Ary.Add(Str)
End If
Next
acad_pref.Files.SupportPath = String.Join(";", Old_Path_Ary.ToArray())
End Sub

 

Valued Mentor
472 Posts
67 Kudos
Registered: ‎01-12-2008
Post 2 of 5

Re: Add Support paths via DLL vb.net

04-15-2014 05:11 AM in reply to: makepeace1

Try with this code.

 

Public Sub Set_Path()
        Dim acad_pref As AcadPreferences = Autodesk.AutoCAD.ApplicationServices.Application.Preferences
        Dim C_Paths As String = LCase(acad_pref.Files.SupportPath)

        Dim Old_Path_Ary As List(Of String) = New List(Of String)
        Old_Path_Ary = C_Paths.Split(";").ToList

        Dim New_paths As List(Of String) = New List(Of String)

        New_paths.Add("C:\Program files\Folder1")
        New_paths.Add("C:\Program files\Folder2")
        New_paths.Add("C:\Program files\Folder3")
        New_paths.Add("C:\Program files\Folder4")

        For Each Str As String In New_paths
            If Not Old_Path_Ary.Contains(Str) Then
                Old_Path_Ary.Add(Str)
            End If
        Next


        acad_pref.Files.SupportPath = String.Join(";", Old_Path_Ary.ToArray())

    End Sub

 

Active Contributor
28 Posts
0 Kudos
Registered: ‎01-31-2014
Post 3 of 5

Re: Add Support paths via DLL vb.net

04-15-2014 06:15 AM in reply to: Ajilal.Vijayan

I also want to add the trusted locations if the version of autocad is 2014 or above

 

I have done this in a lsp file but how would i do it in the dll ?

 

(if (>= (getvar "ACADVER") "19.1")
(setvar "trustedpaths" (strcat (getvar "trustedpaths")
"c:\\folder1;"

"c:\\folder2;"

"c:\\folder3;"

"c:\\folder4;"
)))

Valued Mentor
472 Posts
67 Kudos
Registered: ‎01-12-2008
Post 4 of 5

Re: Add Support paths via DLL vb.net

04-15-2014 08:06 AM in reply to: makepeace1
Valued Contributor
77 Posts
0 Kudos
Registered: ‎12-09-2013
Post 5 of 5

Re: Add Support paths via DLL vb.net

04-18-2014 06:30 AM in reply to: Ajilal.Vijayan

Just adding my two cents.  Working through the Options tabs to consolidate a stock configuration for our office.  A few differences in setting various paths.

    <CommandMethod("setconfig")> _
    Public Sub setconfig()
        Dim acpref As AcadPreferences = Application.Preferences
        Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
        Try
            'Misc Variables
            Application.SetSystemVariable("filedia", 1)
            Application.SetSystemVariable("gridmode", 0)
            Application.SetSystemVariable("copymode", 0)
            acDoc.Window.WindowState = Window.State.Maximized
            acpref.System.BeepOnError = False
            Application.SetSystemVariable("trustedpaths", ";C:\Forum_ACAD\2014\;" & ";R:\2014\;")

            'Files
            acpref.Files.SupportPath = ";C:\Forum_ACAD\2014\" & ";R:\2014\;" & acpref.Files.SupportPath

            'acpref.Files.EnterpriseMenuFile = "R:\2014\Menus\Forum-2014.cuix"
            acpref.Files.PrinterConfigPath = "R:\2014\Plotters\"

            acpref.Files.PrinterDescPath = "R:\2014\Plotters\"
            acpref.Files.PrintSpoolerPath = "C:\Temp\"
            acpref.Files.PrinterStyleSheetPath = "R:\2014\Plotters\"

            acpref.Files.TemplateDwgPath = "R:\2014\Templates\"
            acpref.Files.QNewTemplateFile = "R:\2014\Templates\file-types.dwt"

            acpref.Files.TempFilePath = "C:\Temp\"

            'Display
            acpref.Display.DisplayScrollBars = False
            acpref.Display.XRefFadeIntensity = 50
            acpref.Display.GraphicsWinModelBackgrndColor = 0
            acpref.Display.CursorSize = 100
            acpref.Display.LayoutDisplayPaperShadow = False
            'acpref.Display.ModelCrosshairColor = "Color 42"

            'Open Save
            acpref.OpenSave.SaveAsType = Autodesk.AutoCAD.Interop.Common.AcSaveAsType.ac2013_dwg
            acpref.OpenSave.SavePreviewThumbnail = False
            acpref.OpenSave.AutoSaveInterval = False
            acpref.OpenSave.IncrementalSavePercent = 0
            acpref.OpenSave.CreateBackup = False
            acpref.OpenSave.FullCRCValidation = True
            acpref.OpenSave.LogFileOn = False
            acpref.OpenSave.MRUNumber.Equals("10")
            acpref.OpenSave.DemandLoadARXApp = Autodesk.AutoCAD.Interop.Common.AcARXDemandLoad.acDemandLoadOnObjectDetect
            acpref.OpenSave.AutoAudit = True
            acpref.OpenSave.ShowProxyDialogBox = False
            acpref.OpenSave.TempFileExtension = "ac$"
            acpref.OpenSave.XrefDemandLoad = Autodesk.AutoCAD.Interop.Common.AcXRefDemandLoad.acDemandLoadEnabled
            acpref.OpenSave.ProxyImage = False

            ''Plot and Publish
            acpref.Output.AutomaticPlotLog = False
            acpref.Output.ContinuousPlotLog = False
            acpref.Output.DefaultOutputDevice = "Adobe PDF"
            Application.SetSystemVariable("BackGroundPlot", 0)
            Application.SetSystemVariable("AutomaticPub", 0)

            ''Drafting
            acpref.Drafting.AutoTrackTooltip = False
            acpref.Drafting.AutoSnapTooltip = False
            acpref.Drafting.AlignmentPointAcquisition = 0
        Catch ex As Exception
        End Try
    End Sub

 

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!