Hallo zusammen!
Ich habe in einer Vorlagedatei einen Bemaßungsstil erstellt (für lineare Bemaßungen eine Überschreibung, siehe Bild) den ich aus anderen Zeichnungen importieren möchte.
Funktioniert soweit auch ganz gut für den "normalen" Bemaßungsstil. Leider wird die Überschreibung für die linearen Bemaßungen nicht übernommen.
Hat jemand eine Idee wie ich auch diese importieren kann?
Hier der Code bislang:
[CODE][
Public Class MyCommands
<CommandMethod("Bem_Stil")> _
Public Sub MyCommand()
Dim doc As Document = Application.DocumentManager.MdiActiveDocument
Dim db As Database = doc.Database
Using acTrans As Transaction = db.TransactionManager.StartTransaction()
Dim acDimStyleTbl As DimStyleTable
acDimStyleTbl = DirectCast(acTrans.GetObject(db.DimStyleTableId, OpenMode.ForRead), DimStyleTable)
Dim acDimStyleTblRec As DimStyleTableRecord = db.Dimstyle.GetObject(OpenMode.ForRead)
Dim BemStil As String
Dim SourceDb As New Database(False, False)
SourceDb.ReadDwgFile("C:\Vorlage.dwt", System.IO.FileShare.Read, True, "")
' Get up to 6 most recently used styles
Dim dimStyles As ObjectIdCollection = SourceDb.GetDimRecentStyleList()
Dim destDb As Database = Application.DocumentManager.MdiActiveDocument.Database
Dim destDictId As ObjectId = destDb.DimStyleTableId
Dim iMap As New IdMapping()
' Replace any existing styles
destDb.WblockCloneObjects(dimStyles, destDictId, iMap, DuplicateRecordCloning.Replace, False)
BemStil = "BEM1_1_AF"
Dim DimID As ObjectId = ObjectId.Null
DimID = acDimStyleTbl(BemStil)
Dim DimTabbRecord As DimStyleTableRecord = DirectCast(acTrans.GetObject(DimID, OpenMode.ForRead), DimStyleTableRecord)
If DimTabbRecord.ObjectId <> db.Dimstyle Then
db.Dimstyle = DimTabbRecord.ObjectId
db.SetDimstyleData(DimTabbRecord)
BemStil = DimTabbRecord.Name
End If
Dim acLyrTbl As LayerTable = DirectCast(acTrans.GetObject(db.LayerTableId, OpenMode.ForRead), LayerTable)
acTrans.Commit()
End Using
End Sub
/CODE]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP