Aktualizace modelu zobrazení pomocí importovaných symbolů

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í

  1. V části Možnosti globálního oborového modelu Vytvořit grafiku vyberte položku Znovu použít aktivní výkres.
  2. Otevřete projekt, ke kterému se vztahuje model zobrazení, a začněte s prázdným výkresem.
  3. Nastavte systémové proměnné CMDDIA a FILEDIA na hodnotu 0 (nula).
  4. Na příkazovém řádku zadejte příkaz TBDMOPEN.
  5. Po zobrazení výzvy zadejte cestu k modelu zobrazení, který chcete upravit.
  6. Zadejte příkaz TBGENERATEGRAPHIC.
  7. Zadejte příkaz MAPSYMBOLIMPORTEXPORT.
  8. Po zobrazení výzvy klikněte na tlačítko Import.
  9. Zadejte cestu k souboru symbolů, který obsahuje symboly k importu.
  10. Vyberte možnost importu, pomocí které budou vybrány symboly v uživatelském rozhraní.
  11. Dokončete import a poté zadejte příkaz TBDMSAVE.

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]
_TBDMSAVE
Po 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.

Možnost skriptu v jazyce VBA

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

  1. Na příkazovém řádku aplikace Map 3D zadejte příkaz VBAIDE, pomocí kterého se otevře okno skriptu v jazyce Microsoft VBA.

    Pokud jste nenainstalovali nástroj Autodesk AutoCAD VBA Enabler, zobrazí se výzva k jeho stažení.

  2. V okně jazyka Microsoft VBA proveďte následující kroky:
    1. Klikněte na soubor a vyberte možnost Import souboru.
    2. V dialogu Import souboru vyhledejte a vyberte soubor BAS, který obsahuje skript.
    3. Klikněte na tlačítko Otevřít.
    4. V okně jazyka Microsoft VBA klikněte na tlačítko Uložit.
    5. V dialogu Uložit jako zadejte cestu a název souboru a klikněte na tlačítko Uložit.
  3. Zavřete okno jazyka Microsoft VBA.
  4. Na příkazovém řádku zadejte příkaz VBALOAD, kterým načtete soubor DVB uložený pomocí výše uvedených kroků.

    Pokud se zobrazí upozornění na povolení maker, klikněte na tlačítko Povolit makra.

  5. Na příkazovém řádku zadejte příkaz VBARUN a zvolte příslušné makro, které se má spustit.