乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 107|回复: 6

[已解决]如何在没有激活的图纸空间增加图元

[复制链接]

5

主题

23

帖子

2

银币

初来乍到

Rank: 1

铜币
43
发表于 2009-5-31 12:25:00 | 显示全部楼层 |阅读模式
请教:能不能实现在没有激活的图纸空间增加图元
我目前是先激活某个图纸空间(布局),然后再增加图元,但是当图纸比较大的时候,重生成模型的时候比较长。那能不能不激活图纸空间,就能直接在某个布局中写入图元?
我目前代码:
    Dim Textlayout As Object
    Set Textlayout = ThisDrawing.Layouts.Item(layoutItemI)
    ThisDrawing.ActiveLayout = Textlayout
里面layoutItemI是我传入的一个参数。就是能不能不用激活(ThisDrawing.ActiveLayout = Textlayout),用某个方法吧图元增加到不激活图纸空间。
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2009-6-1 11:04:00 | 显示全部楼层
试下
Sub tt()
Dim blkdef As AcadBlock
Set blkdef = ThisDrawing.Layouts.Item("布局1").Block
Dim pt1(2) As Double, pt2(2) As Double
pt2(0) = 10
blkdef.AddLine pt1, pt2
End Sub
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2009-6-1 06:10:00 | 显示全部楼层
你目前用什么方法增加图元?
回复

使用道具 举报

5

主题

23

帖子

2

银币

初来乍到

Rank: 1

铜币
43
发表于 2009-6-1 10:42:00 | 显示全部楼层
Public Function AcadText_paperspace(textString As String, insertPoint As Variant, Height As Variant, layoutItemI)
    Dim anobj As Object, AddLine As Object
    Dim minExt As Variant, maxExt As Variant
    '写入居中的单行文本
    Dim Textlayout As Object
    Set Textlayout = ThisDrawing.Layouts.Item(layoutItemI)
    ThisDrawing.ActiveLayout = Textlayout
    Set anobj = ThisDrawing.PaperSpace.AddText(textString, insertPoint, Height) '这个insertPoint随便输。
    anobj.Alignment = 10 '设置居中
    anobj.TextAlignmentPoint = insertPoint '设置对齐点
    Set AcadText_paperspace = anobj
End Function
增加图元如上:
回复

使用道具 举报

5

主题

23

帖子

2

银币

初来乍到

Rank: 1

铜币
43
发表于 2009-6-1 10:58:00 | 显示全部楼层
因为要在指定的布局中写文字。所以我每次都要先激活指定的布局
Dim Textlayout As Object
  Set Textlayout = ThisDrawing.Layouts.Item(layoutItemI)
  ThisDrawing.ActiveLayout = Textlayout
然后再写入文字,我找到和布局有关的变量LAYOUTREGENCTL,但是也不能停止刷新。激活布局一刷新就要等一会儿,浪费时间。后来我又发现可以直接修改选择集中图元的字符串内容,所以但是我现在修改了方法,就是不增加图元了,直接用选择集获取text图元,然后在text中直接修改休息字符串的内容。也可以达到我需要的目的。
但是我还是想知道,就是能不能在没有激活的图纸空间增加图元?还有就是能不能激活的图纸空间的时候不刷新图形?
ps.在程序编写过程中,我还发现如果选择集中包含“没有激活的图纸空间的对象”时候,Erase方法删除这选择集中的图元就会发生“图元名无效”的错误。(其他方法也是)
回复

使用道具 举报

5

主题

23

帖子

2

银币

初来乍到

Rank: 1

铜币
43
发表于 2009-6-1 11:19:00 | 显示全部楼层
lzh741206斑竹
我只能说:我对你的佩服如滔滔江水,连绵不绝。
在没有激活的图纸空间增加图元这个问题困扰了我一段时间,终于解决了。再次感谢
回复

使用道具 举报

0

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
2
发表于 2009-6-2 11:14:00 | 显示全部楼层
学习
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-2 03:42 , Processed in 0.937667 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表