明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2384|回复: 6

如何实现消隐功能

[复制链接]
发表于 2003-10-22 21:10:00 | 显示全部楼层 |阅读模式
如题
发表于 2003-10-23 10:54:00 | 显示全部楼层
可以利用第三坐标来实现消隐 也就是前面的Z坐标比后面的大 然后用AUTOCAD的“HIDE”命令来完成图形消隐。不过这只是显示消隐,不能实现打印消隐
发表于 2003-10-23 11:57:00 | 显示全部楼层
wipeout.arx是AUTODESK的技术机密,没有公开代码,所以也不知道原理,要用到光栅图像的吧,我有个想法,就是调用wipeout.arx,赋值一个多边形给它生成消隐效果,我这样可以实现图块消隐等效果...
发表于 2003-10-24 21:28:00 | 显示全部楼层
怎样批量实现图块消隐
发表于 2003-10-25 17:30:00 | 显示全部楼层
首先用程序描出图块的轮廓闭合多边形,然后用sendcommand "wipeout"  指定多边形的时候用 函数(本站有)指定给它,就可以的到一个消隐效果了,批量消隐就用一个循环就可以了
 楼主| 发表于 2003-10-26 10:38:00 | 显示全部楼层
那个函数是什么,我找不到。
发表于 2003-10-26 12:34:00 | 显示全部楼层
'转换图元函数

Public Function axEnt2lspEnt(entObj As AcadEntity) As String
    Dim entHandle As String
    entHandle = entObj.Handle
    axEnt2lspEnt = "(handent " & Chr(34) & entHandle & Chr(34) & ")"
End Function



'示例Break

Sub Break()
    Dim Pnt As Variant
    Dim entObj As AcadEntity
    ThisDrawing.Utility.GetEntity entObj, Pnt, "选择图元:"
    Dim Pnt2 As Variant
    Pnt2 = ThisDrawing.Utility.GetPoint(, "选择点:")

    Dim det As String
    det = GetDoubleEntTable(entObj, Pnt)

    Dim lspPnt As String
    lspPnt = axPoint2lspPoint(Pnt2)
    ThisDrawing.SendCommand "_break" & vbCr & det & vbCr & lspPnt & vbCr

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

本版积分规则

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

GMT+8, 2024-11-28 12:34 , Processed in 0.196710 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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