明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 204|回复: 5

[提问] 请问entmake生成遮罩的14组码该如何确定?谢谢~

[复制链接]
发表于 7 天前 | 显示全部楼层 |阅读模式
  1. (entmake (list '(0 . "WIPEOUT") '(100 . "AcDbEntity") '(100 . "AcDbWipeout")
  2.                     (cons 10 p0) (cons 11 p1)
  3.                     (cons 12 p2) (cons 13 p3) '(280 . 1) '(71 . 2)))
复制代码
已知矩形的四个顶点,p0、p1、p2、p3,想以此生成遮罩,但不知道组码14该如何写,用"WIPEOUT"生成遮罩后查看DXF内码实体显示有5个顶点,搞不懂了,求大佬指点一下,谢谢啦~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
10是插入点,
11是宽度
12是高度
13图像大小
71是边界类型,多边形是2,
91是边界定点数,
14是边界的ocs值,
你生成的5个14值表示是71多边形类型,5的点才能围合成一圈,

4-----------------3
|                    |
|                    |
1 and 5---------2   
  1. (entmakex '( (0 . "WIPEOUT") (100 . "AcDbEntity") (100 . "AcDbWipeout") (90 . 0) (10 2329.24 746.834 0.0) (11 852.353 0.0 0.0) (12 0.0 852.353 0.0) (13 1.0 1.0 0.0)  (70 . 7) (280 . 1) (281 . 50) (282 . 50) (283 . 0) (290 . 0)  (71 . 2) (91 . 4) (14 -0.5 0.5 0.0) (14 0.5 0.5 0.0) (14 0.5 0.0324058 0.0)(14 -0.5 0.5 0.0)))
   

回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
如果是矩形就只需要2个对角点
  1. (entmakex '( (0 . "WIPEOUT") (100 . "AcDbEntity") (100 . "AcDbWipeout") (90 . 0) (10 2329.24 746.834 0.0) (11 852.353 0.0 0.0) (12 0.0 500.353 0.0) (13 1.0 1.0 0.0)  (70 . 7) (280 . 1) (281 . 50) (282 . 50) (283 . 0) (290 . 0)  (71 . 1) (91 . 2) (14 -0.5 -0.5 0.0) (14 0.5 0.5 0.0) ))
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
本帖最后由 llsheng_73 于 2025-1-15 13:30 编辑

组码说明
100子类标记 (AcDbRasterImage)
90类版本
10插入点(在 WCS 中)
DXF:X  值;APP:三维点
20, 30DXF:插入点的 Y 值和 Z 值(在 WCS 中)
11单像素的 U 矢量(沿图像可见底部的点,从插入点开始)(在  WCS 中)
DXF:X  值;APP:三维点
21, 31DXF:U 矢量的 Y 值和 Z 值(在 WCS 中)
12单像素的 V 矢量(沿图像可见左侧的点,从插入点开始)(在  WCS 中)
DXF:X  值;APP:三维点
22, 32DXF:V 矢量的 Y 值和 Z 值(在 WCS 中)
13以像素为单位的图像尺寸
DXF:U  值;APP:二维点(U 值和 V 值)
23DXF:图像尺寸的 V 值(以像素为单位)
340imagedef 对象的硬参照
70图像显示特性:
1 = 显示图像
2 =  当与屏幕不对齐时显示图像
4 =  使用剪裁边界
8 =  透明度打开
280剪裁状态:0 = 关;1 = 开
281亮度值(0-100;默认值 = 50)
282对比度值(0-100;默认值 = 50)
283褪色度值(0-100;默认值 = 0)
360imagedef_reactor 对象的硬参照
71剪裁边界类型。 1 = 矩形;2 = 多边形
91后面的裁剪边界顶点数
14裁剪边界顶点(在 OCS 中)
DXF:X  值;APP:二维点(多个条目)
注意 1)  对于矩形剪裁边界类型,必须指定两个对角。 默认值为 (-0.5,-0.5),(size.x-0.5, size.y-0.5)。 2)  对于多边形剪裁边界类型,必须指定三个或更多顶点。 多边形顶点必须按顺序列出
24DXF:剪裁边界顶点的 Y 值(在 OCS 中)(多个条目)
(entmakex'((0 . "WIPEOUT")(100 . "AcDbEntity")(100 . "AcDbWipeout")(90 . 0)(10 -1 -1)(11 2 0)(12 0 2)(13 2 2)))
以(-1 -1)为左下角插入点画一个宽高均为2的WIPEOUT,无裁剪,其位置由10组决定,长度由11组决定,高度由
组决定,13组没发现用处。。。。280组决有无裁剪,如果有,相应的70、71组应该指定剪裁边界类型,如果用多边形作为剪裁边界,由91组指定其顶点数量,并且在14组列出顶点(相当于多段线用90组指定顶点数,后边由10组列出顶点)
也就是说,需要先在合适的位置画一个比剪裁边界更大的WIPEOUT,再通过14组指定的点对其进行裁剪,以此达到按指定的点画WIPEOUT的目的
(entmakex'((0 . "WIPEOUT")(100 . "AcDbEntity")(100 . "AcDbWipeout")(10 -1 -1)(11 2 0)(12 0 2)(70 . 7)(280 . 1)(71 . 2)(91 . 10)(14 -0.5 0.0)(14 -0.352381 -0.352381)(14 0.0 -0.5)(14 0.352381 -0.352381)(14 0.5 0.0)(14 0.352381 0.352381)(14 0.0 0.5)(14 -0.352381 0.352381)(14 -0.5 0.0)(14 -0.5 0.0)))

实际上,进行矩形裁剪好象没必要,可以直接通过矩形的左下角点及其宽高,分别用10,11,12组指定"左下角",宽度dx,高度dy
(entmakex(list'(0 . "WIPEOUT")'(100 . "AcDbEntity")'(100 . "AcDbWipeout")(cons 10(getpoint"左下角"))(list 11 dx 0)(list 12 0 dy)))
回复 支持 反对

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
edata 发表于 2025-1-15 13:17
如果是矩形就只需要2个对角点

感谢回复!搞定啦~另外,仓库是多边形的意思吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
llsheng_73 发表于 2025-1-15 13:18
(entmakex'((0 . "WIPEOUT")(100 . "AcDbEntity")(100 . "AcDbWipeout")(90 . 0)(10 -1 -1)(11 2 0)(12 0 2 ...

感谢回复!搞定啦~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-22 18:45 , Processed in 0.207506 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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