明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2233|回复: 7

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

[复制链接]
发表于 2009-5-31 12:25:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-6-1 12:56:10 编辑

请教:能不能实现在没有激活的图纸空间增加图元

我目前是先激活某个图纸空间(布局),然后再增加图元,但是当图纸比较大的时候,重生成模型的时候比较长。那能不能不激活图纸空间,就能直接在某个布局中写入图元?

我目前代码:

    Dim Textlayout As Object
    Set Textlayout = ThisDrawing.Layouts.Item(layoutItemI)

    ThisDrawing.ActiveLayout = Textlayout

里面layoutItemI是我传入的一个参数。就是能不能不用激活(ThisDrawing.ActiveLayout = Textlayout),用某个方法吧图元增加到不激活图纸空间。

发表于 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

点评

佩服!!!  发表于 2018-1-16 16:45
回复 支持 1 反对 0

使用道具 举报

发表于 2009-6-1 06:10:00 | 显示全部楼层

你目前用什么方法增加图元?

 楼主| 发表于 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
增加图元如上:
 楼主| 发表于 2009-6-1 10:58:00 | 显示全部楼层

因为要在指定的布局中写文字。所以我每次都要先激活指定的布局

Dim Textlayout As Object
  Set Textlayout = ThisDrawing.Layouts.Item(layoutItemI)

  ThisDrawing.ActiveLayout = Textlayout
 然后再写入文字,我找到和布局有关的变量LAYOUTREGENCTL,但是也不能停止刷新。激活布局一刷新就要等一会儿,浪费时间。后来我又发现可以直接修改选择集中图元的字符串内容,所以但是我现在修改了方法,就是不增加图元了,直接用选择集获取text图元,然后在text中直接修改休息字符串的内容。也可以达到我需要的目的。

但是我还是想知道,就是能不能在没有激活的图纸空间增加图元?还有就是能不能激活的图纸空间的时候不刷新图形?

ps.在程序编写过程中,我还发现如果选择集中包含“没有激活的图纸空间的对象”时候,Erase方法删除这选择集中的图元就会发生“图元名无效”的错误。(其他方法也是)

 楼主| 发表于 2009-6-1 11:19:00 | 显示全部楼层

lzh741206斑竹

我只能说:我对你的佩服如滔滔江水,连绵不绝。

在没有激活的图纸空间增加图元这个问题困扰了我一段时间,终于解决了。再次感谢

发表于 2009-6-2 11:14:00 | 显示全部楼层
学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 02:31 , Processed in 0.165970 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表