Pokud jste použili vlastní symboly v modelech zobrazení a chcete je aktualizovat pomocí upravených symbolů, můžete otevřít model zobrazení, vytvořit grafiku a pomocí příkazu MAPSYMBOLIMPORTEXPORT importovat upravené symboly. Další informace naleznete v části Import symbolů.
Import symbolů v dávkách bez využití uživatelského rozhraní
Vytvořit grafiku vyberte položku Znovu použít aktivní výkres.
Podle potřeby můžete automaticky dokončit výše uvedené kroky pomocí skriptu. Pomocí příkazového řádku načtěte soubor skriptu prostřednictvím příkazu DEMO a počkejte, dokud nebude provádění příkazu dokončeno. Při provádění několika skriptů u různých modelů zobrazení se ujistěte, že před otevřením modelu zobrazení vždy začnete pracovat s prázdným výkresem. V opačném případě uložíte původní hladiny z předchozího výkresu do nového modelu zobrazení.
Dále následuje vzorový příklad skriptu. Můžete jej uložit jako soubor s příponou SCR.
CMDDIA 0 FILEDIA 0 _TBDMOPEN [path to your TBDM file] _TBGENERATEGRAPHIC _MAPSYMBOLIMPORTEXPORT _IMPORT [choose options that fit your needs] _TBDMSAVEPo dokončení práce na skriptu obnovte původní hodnoty proměnných CMDDIA a FILEDIA. Původní hodnotou je většinou číslo 1.
Chcete-li ušetřit čas, můžete importovat symboly pro více modelů zobrazení v jediné operaci a to pomocí skriptu Microsoft Visual Basic for Applications (VBA). Dále následuje vzorový příklad skriptu. Můžete jej použít jako šablonu, provést požadované změny a potom jej uložit jako soubor BAS.
Attribute VB_Name = "ImportSymbolInto_IM_DM"
Sub ImportSymbolIntoDisplayModel()
Dim prototypeDWG, templateDWT As String
Dim FileDia, CmdDia As Integer
Dim displayModelArray(0 To 2) As String 'TODO: Adapt to the number of Display Models to update
' TODO - Adapt to your settings
' Define the path to the Display Models for updating the symbol(s)
' When adding or removing Display Models, please adapt also the size of displayModelArray
' and the loop over all Display Models
displayModelArray(0) = "C:\TEST\DM1\DM1.tbdm"
displayModelArray(1) = " C:\TEST\DM2\DM2.tbdm"
displayModelArray(2) = " C:\TEST\DM3\DM3.tbdm"
' Attention !!!
' Only use the "Generic Graphic" - Application option: Reuse current drawings
' We need the same drawing for all operations !
' TODO - Adapt to your settings
' Define where the symbol(s) should be imported from
prototypeDWG = "C:\temp\symbol_modified.dwg "
' TODO - Adapt to your settings
' Define the template file to be used when open a new DWG
templateDWT = "c:\temp\Template\map2d.dwt"
Dim currentSDI As Integer
currentSDI = ThisDrawing.GetVariable("SDI")
If (currentSDI = 1) Then
MsgBox "The functions works only with multiple drawings [SDI=0]"
Exit Sub
End If
FileDia = ThisDrawing.GetVariable("FILEDIA")
CmdDia = ThisDrawing.GetVariable("CMDDIA")
ThisDrawing.SetVariable "FILEDIA", 0
ThisDrawing.SetVariable "CMDDIA", 0
' Loop all Display Models
For inti = 0 To 2
' Open an empty drawing
Application.Documents.Open (templateDWT)
' Open the Display Model
ThisDrawing.SendCommand "_TBDMOPEN" & vbCr & displayModelArray(inti) & vbCr
ThisDrawing.SendCommand "_TBGENERATEGRAPHIC" & vbCr
' Import the symbol and apply changes to the layers
ThisDrawing.SendCommand "_MAPSYMBOLIMPORTEXPORT" & vbCr & "_IMPORT" & vbCr & prototypeDWG & vbCr & "_YES" & vbCr
' Save the changes of the layers to the Display Model
ThisDrawing.SendCommand "_TBDMSAVE" & vbCr
' Do not save the drawing
ThisDrawing.Close (False)
Next
' Reset the system variables
ThisDrawing.SetVariable "FILEDIA", FileDia
ThisDrawing.SetVariable "CMDDIA", CmdDia
End Sub
Ve vzorovém skriptu existuje modul ImportSymbolInto_IM_DM s dílčím modulem ImportSymbolIntoDisplayModel (). Počet modelů zobrazení a cesty je nutné přizpůsobit souborům DWT a TBDM.
Import symbolů pro více modelů zobrazení pomocí skriptu v jazyce VBA
Pokud jste nenainstalovali nástroj Autodesk AutoCAD VBA Enabler, zobrazí se výzva k jeho stažení.
Pokud se zobrazí upozornění na povolení maker, klikněte na tlačítko Povolit makra.