tuankm 发表于 2009-1-13 05:06:34

救命啊!自定义对象中的图案填充曲线

**** Hidden Message *****

tuankm 发表于 2009-1-13 23:15:51

尝试使用添加的行 - 编译解决方案,然后重试。
阅读有关 AcDbMPolygon和 AcDbHatch类的更多信息。

Draftek 发表于 2009-1-14 05:35:01

嗨,乐,非常感谢你的关心。
我添加了您建议的代码,但它不起作用。
我认为问题是m_pCurve只存储在我的自定义对象中,所以它没有objectid,所以appendloop不起作用。
对于这种情况,您有什么解决方案吗?

Draftek 发表于 2009-1-14 09:48:27


你有没有尝试过附加Loop();的另外两个重载?
您可以提取顶点和凸起数据并使用它们。

Draftek 发表于 2009-1-14 10:25:37

我不是专家,但我不认为你的架构会起作用 - 在worlddraw中创建一个称为worlddraw的对象似乎不对。此时不需要使用基元吗?
也许托尼会在这里权衡。

tuankm 发表于 2009-1-14 10:52:20


我不知道它正在使用什么其他代码tuankm,但是对于他发布的内容,没有任何东西将其附加到绘图数据库中。
缺点或你不应该做的事情,是打开一个对象在world/viewportDraw();里面写一个对象。
在其他一些中也是如此。

tuankm 发表于 2009-1-14 12:11:40

我已经使用 AcDbMPolygon 类执行了一些命令,这些命令派生自 AcDbEntity 或 AcDbPolyline - 特别是两个命令,一个用于土地使用,另一个用于景观布局。
这是我刚刚做的一个快速(米老鼠):

tuankm 发表于 2009-1-14 18:37:21

干得好LE!

tuankm 发表于 2009-1-15 08:02:07

Hi LE,
我在帮助文件中看到appendloop有一个
Acad::error status append loop(Adesk::int 32 loop type,const AcGePoint2dArray& vertices,const AcGeDoubleArray & bulges);
它可能适用于我的情况,但我不知道如何从曲线中获取顶点和凸起。你能帮忙吗?

Draftek 发表于 2009-1-15 09:06:24


这就是我在上一篇文章中提到的(使用其中一个重载)。
您可以使用 getPointAtParam(); 或执行 AcDbPolylinecast(); 并遍历对象以提取所有顶点。
呵呵。
页: [1] 2
查看完整版本: 救命啊!自定义对象中的图案填充曲线