明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2497|回复: 3

[求助]请教填充相关的几个问题

[复制链接]
发表于 2006-12-24 16:48:00 | 显示全部楼层 |阅读模式

就是一个图层有好多的矩形以及一些其他闭合的图形,我现在的目标是一个个把这些图形都填充好,但我希望这些图形一个个单独填充(就是不希望用CAD的框选然后一起填充)。这样我就碰到如下几个问题:

1、如何判别操作者选中的图元(图形中已存在)中哪些是组成闭合空间的(不需要孤岛检测类的功能)

2、能不能用VBA调用CAD填充时弹出的那个窗口,作为填充特性。

说到底就是想把已有图层中闭合的部分都填充起来,但是要一个个的填,每个闭合的区域填充相互独立!

VBA是否可以实现,给个思路也行,谢谢先

发表于 2006-12-24 17:49:00 | 显示全部楼层

用VBA完全可以实现你的目标

--如何判别操作者选中的图元(图形中已存在)中哪些是组成闭合空间的

在建立图元是就要生成面域(封闭多义线段和圆除外)

结论:最好在建模是多采用封闭多义线段或圆,用遍历的方法很容易实现你的目标需求.

 楼主| 发表于 2006-12-24 18:37:00 | 显示全部楼层

看来我没有把问题表述清楚:现在的问题是那些图元不是我的程序产生的,而是图纸中早已存在,我现在是要编辑这个图纸。只知道这些图元都放在某一个图层里面。另外能不能用什么方法调用系统的那个填充的窗口,然后把里面的图案填充参数如比例等引用出来?谢谢

发表于 2006-12-25 10:46:00 | 显示全部楼层

有关闭合图元,查AutoCad帮助文件有以下几种类型

Specifies whether the 3D polyline, lightweight polyline, polyline, or spline is open or closed.

要解决这个问题,我的观点是通过遍历方法将line等图元转换为多义线段.

dim ent as object

                ptStart = ent.StartPoint
                ptEnd = ent.EndPoint
                
                AddLWPlineSeg ptStart, ptEnd, width
                ent.Delete
再通过遍历的方法,判断ent.colse true (false)

用什么方法调用系统的那个填充的窗口,我需要花点时间去收集资料.

如你解决这个问题,请告诉我一下.

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

本版积分规则

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

GMT+8, 2025-2-23 03:27 , Processed in 0.153094 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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