求助:如何在新建的layout里画线
先打开了图纸空间的块表记录:Dim'// Add the block reference to paper space
oBTR.AppendEntity(br) As BlockTableRecord = CType(oBT(BlockTableRecord.PaperSpace).GetObject(OpenMode.ForWrite), BlockTableRecord)
然后新建了layout,并设为当前layout. :
Dim oLayoutObjId As ObjectId
oLayoutObjId = oLayoutManager.CreateLayout("MyLayout" + Str(row))
Dim oLayout As Layout = tr.GetObject(oLayoutObjId, OpenMode.ForWrite)
oLayout.Initialize()
oLayoutManager.CurrentLayout = "MyLayout" + Str(row)
再在 oBTR里添加插入的块:
oBTR.AppendEntity(br)
但是图是显示在layout1里了,不是我新建的。
怎么能写到我新建的layout里呢?
谢谢
oBTR 是什么东东? BlockTableRecord.
改了一点。可以写到不同的layout里了,但好像分的不是很清楚,好像乱写似的,写的那都有。不是指那写那。
BlockTableRecord里papersapce里有个layout就分一块出来,可能还要检查那一块的名字是不是指定的后再写。继续尝试。
oLayoutManager.CopyLayout("布局1", tfolderName)
Dim oLayout As Layout = tr.GetObject(oLayoutManager.GetLayoutId(tfolderName), OpenMode.ForWrite)
oLayout.Initialize()
oLayoutManager.CurrentLayout = tfolderName 我知道 oBTR是 BlockTableRecord.否则实体添加到哪里?
但我没看到oBTR是否为CurrentSpace(当前BlockTableRecord),也没看到oBTR和CurrentLayout之间有什么关系。
找了个这个,有关系了。Dim oBtr As BlockTableRecord = CType(oTrans.GetObject(oLayout.BlockTableRecordId, _
OpenMode.ForRead), BlockTableRecord) 兄弟,想让人回答把代码全贴出了帮你调试,这样东搞搞,西搞搞谁知道什么地方有问题
? 找到关系了,没问题了。
页:
[1]