PDA

View Full Version : Support File Search Path: Dúvida



agnaldo.guedes
2010-01-05, 12:04 AM
Amigos, minha dúvida é a seguinte.

É possível através de .NET, adicionar pastas na opção "Support File Search Path", na configuração do AutoCAD 2010?

Gostaria de criar uma rotina em .NET para configurar algumas pastas e outras opções, sem ter que usar o arquivo ARG.

Valeu pela atenção!

f_santana
2010-01-05, 12:03 PM
deve ser possivel

esta informação esta contida no registro do programa.
no meu caso eu achei mais simples criar uma rotina LISP (usando um setenv) que configura as pastas conforme projeto de trabalho por uma questão de biblioteca.

estas variaveis podem ser editadas sem o programa estar aberto.

se voce abrir um arquivo .ARG voce vai poder ver todas as "variaveis" que a compoem. e em que chave do registro do windowns ela esta salva

no seu caso a variavel que voce procura é "ACAD"


Amigos, minha dúvida é a seguinte.

É possível através de .NET, adicionar pastas na opção "Support File Search Path", na configuração do AutoCAD 2010?

Gostaria de criar uma rotina em .NET para configurar algumas pastas e outras opções, sem ter que usar o arquivo ARG.

Valeu pela atenção!

agnaldo.guedes
2010-01-17, 05:10 PM
deve ser possivel

esta informação esta contida no registro do programa.
no meu caso eu achei mais simples criar uma rotina LISP (usando um setenv) que configura as pastas conforme projeto de trabalho por uma questão de biblioteca.

estas variaveis podem ser editadas sem o programa estar aberto.

se voce abrir um arquivo .ARG voce vai poder ver todas as "variaveis" que a compoem. e em que chave do registro do windowns ela esta salva

no seu caso a variavel que voce procura é "ACAD"

Fábio, valeu!
Por acaso, vc poderia me mostrar um exemplo desta rotina LSIP?

f_santana
2010-01-18, 03:51 PM
segue trexo da rotina que eu configura os Diretorios de busca dos AutoCAD daqui do escritorio
isso via AutoLisp, conforme comentei

raiz é uma variavel interna que é determinada pelo cliente

(setenv "ACAD" (strcat raiz "2010\\Support;
C:\\Arquivos de programas\\AutoCAD 2010\\support;
C:\\Arquivos de programas\\AutoCAD 2010\\fonts;
C:\\Arquivos de programas\\AutoCAD 2010\\help;
C:\\Arquivos de programas\\AutoCAD 2010\\express;
C:\\Arquivos de programas\\AutoCAD 2010\\support\\color;"
raiz "_Rotinas;"
raiz "_Biblioteca;"
raiz "_Biblioteca\\_Orbi_Hatch;"
raiz "2010\\Bibl;")
)
(setenv "PrinterDescDir" (strcat raiz "2010\\Plotters\\PMP Files")) ;Configura drives das impressoras
(setenv "PrinterConfigDir" (strcat raiz "2010\\Plotters")) ;Configura local de busca de impressoras
(setenv "PrinterStyleSheetDir" (strcat raiz "_Plot Styles")) ;Configura local de busca dos arquivos de penas
(setenv "QnewTemplate" (strcat raiz "2010\\Template\\orbi.dwt")) ;Configura template padrão.


Fábio, valeu!
Por acaso, vc poderia me mostrar um exemplo desta rotina LSIP?

agnaldo.guedes
2010-01-19, 11:19 PM
segue trexo da rotina que eu configura os Diretorios de busca dos AutoCAD daqui do escritorio
isso via AutoLisp, conforme comentei

raiz é uma variavel interna que é determinada pelo cliente

(setenv "ACAD" (strcat raiz "2010\\Support;
C:\\Arquivos de programas\\AutoCAD 2010\\support;
C:\\Arquivos de programas\\AutoCAD 2010\\fonts;
C:\\Arquivos de programas\\AutoCAD 2010\\help;
C:\\Arquivos de programas\\AutoCAD 2010\\express;
C:\\Arquivos de programas\\AutoCAD 2010\\support\\color;"
raiz "_Rotinas;"
raiz "_Biblioteca;"
raiz "_Biblioteca\\_Orbi_Hatch;"
raiz "2010\\Bibl;")
)
(setenv "PrinterDescDir" (strcat raiz "2010\\Plotters\\PMP Files")) ;Configura drives das impressoras
(setenv "PrinterConfigDir" (strcat raiz "2010\\Plotters")) ;Configura local de busca de impressoras
(setenv "PrinterStyleSheetDir" (strcat raiz "_Plot Styles")) ;Configura local de busca dos arquivos de penas
(setenv "QnewTemplate" (strcat raiz "2010\\Template\\orbi.dwt")) ;Configura template padrão.

Valeu fábio, vou testar.
O problema é que esta rotina vai funcionar muito bem em um windows em português. Se tiver que rodar a rotina no Windows inglês, não funcionará. Terei que criar duas rotinas.
Mas já ajudou bastante.

f_santana
2010-01-20, 05:07 PM
bom eu não tive este problema porque aqui na empresa o sistema operacional é igual para todos (tirando 4 micros 64bits)

mas se voce der uma olhada no arquivo ARG vai ver uma variavel que pode solucionar o seu problema


Valeu fábio, vou testar.
O problema é que esta rotina vai funcionar muito bem em um windows em português. Se tiver que rodar a rotina no Windows inglês, não funcionará. Terei que criar duas rotinas.
Mas já ajudou bastante.

Rui Pestana
2010-02-15, 10:13 AM
Você pode usar o .NET. Veja este exemplo que está em
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer's%20Guide/index.html

Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.Interop

<CommandMethod("PrefsSetCursor")> _
Public Sub PrefsSetCursor()
'' This example sets the crosshairs of the AutoCAD drawing cursor
'' to full screen.

'' Access the Preferences object
Dim acPrefComObj As AcadPreferences = Application.Preferences

'' Use the CursorSize property to set the size of the crosshairs
acPrefComObj.Display.CursorSize = 100
End Sub

No seu caso, para acrescentar pastas faça, por exemplo:

acPrefComObj.Files.SupportPath = acPrefComObj.Files.SupportPath & ";c:\"

Nota: Cada pasta está separada por um ";"

Quanto à linguagem do Windows não tem qualquer problema pois pode saber qual é a pasta dos programas da seguinte forma:
Dim pastaApps As String = System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)

agnaldo.guedes
2010-02-15, 06:48 PM
Você pode usar o .NET. Veja este exemplo que está em
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer's%20Guide/index.html

Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.Interop

<CommandMethod("PrefsSetCursor")> _
Public Sub PrefsSetCursor()
'' This example sets the crosshairs of the AutoCAD drawing cursor
'' to full screen.

'' Access the Preferences object
Dim acPrefComObj As AcadPreferences = Application.Preferences

'' Use the CursorSize property to set the size of the crosshairs
acPrefComObj.Display.CursorSize = 100
End Sub

No seu caso, para acrescentar pastas faça, por exemplo:

acPrefComObj.Files.SupportPath = acPrefComObj.Files.SupportPath & ";c:\"

Nota: Cada pasta está separada por um ";"

Quanto à linguagem do Windows não tem qualquer problema pois pode saber qual é a pasta dos programas da seguinte forma:
Dim pastaApps As String = System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)

Rui, muito obrigado. Vou iniciar os testes!

agnaldo.guedes
2010-07-04, 03:14 AM
Rui, muito obrigado pela sua ajuda. Funcionou perfeitamente. Consegui configurar as pastas do support file Search Path, o "custom icon location" e o "customization file (CUI)" via .NET

A dúvida agora é a seguinte: no meu arquivo CUI possuo uma workspace chamada TESTE.
Como faço para colocá-la como current, utilizando a mesma "Public Sub PrefsSetCursor()"?

OBRIGADO!