找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1485|回复: 17

[讨论]:用ssget获得所有闭合多义线

[复制链接]
发表于 2004-1-12 11:38:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
lwpl 的70组码的二进制值的第一位代表是否闭合,可是怎么写ssget的过滤表呢?

(ssget "x" '((0 . "lwpolyline") ...?...)

我明白了,因该写成
(ssget "x" '((0 . "lwpolyline" )(-4 . "&")(70 . 1)))

可是,它和(ssget "x" '((0 . "lwpolyline" )(-4 . "&=")(70 . 1)))有什么区别呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-1-12 12:25:05 | 显示全部楼层
(ssget "x" '((0 . "lwpolyline" )(70 . 1)))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-12 12:36:52 | 显示全部楼层

Re: [讨论]:用ssget获得所有闭合多义线

最初由 wkai 发布
[B]lwpl 的70组码的二进制值的第一位代表是否闭合,可是怎么写ssget的过滤表呢?

(ssget "x" '((0 . "lwpolyline") ...?...)

我明白了,因该写成
(ssget "x" '((0 . "lwpolyline" )(-4 . "&")(70 . 1)))

可是... [/B]


(-4 . "&")是做什么用的?

另外我问一下,如何用编程得到了平行直线选择集?
是不是只有通过起点和终点,求角度相等得到选择集?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-1-12 12:46:03 | 显示全部楼层
最初由 LUCAS 发布
[B](ssget "x" '((0 . "lwpolyline" )(70 . 1))) [/B]


我弄错了~
应当是ployline~
用这个(ssget "x" '((0 . "polyline" )(70 . 1)))不行~

最初由 coolzhb 发布
另外我问一下,如何用编程得到了平行直线选择集?
是不是只有通过起点和终点,求角度相等得到选择集?
[/B]

应该是这样的吧~
直线实体数据表中没有斜率的组码项。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-1-12 13:00:47 | 显示全部楼层
最初由 wkai 发布
[B]

我弄错了~
应当是ployline~
用这个(ssget "x" '((0 . "polyline" )(70 . 1)))不行~

[QUOTE]最初由 coolz... [/B]

对于 Polyline 的闭合情况比 Lwpolyline 要复杂, 1 可以和其他的值组合的,按排列组合可以有很多情况,我是没有遇到过那么多的Polyline。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-12 16:06:13 | 显示全部楼层
(ssget "x"
       '((-4 . "< AND")
         (0 . "POLYLINE")
         (-4 . "< OR")
         (70 . 1)
         (70 . 3)
         (70 . 5)
                      (70 . 9)
                      (70 .13)
         (-4 . "OR >")
         (-4 . "AND >")
        )
)

看需要再增加(70 . ?)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-1-12 16:21:28 | 显示全部楼层
最初由 LUCAS 发布
[B](ssget "x"
       '((-4 . "< AND")
         (0 . "POLYLINE")
         (-4 . "< OR")
         (70 . 1)
         (70 . 3)
         (70 . 5)
         (-4 . "OR >")
         (-4 . "AND >")
        )
)

看需要再增加(70 . ?) [/B]

用(ssget "x" '((0 . "polyline" )(-4 . "&")(70 . 1)))就可以选到所有闭合的POLYLINE.
我是想知道
它与(ssget "x" '((0 . "lwpolyline" )(-4 . "&=")(70 . 1)))的区别.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-1-13 01:28:47 | 显示全部楼层
The bitwise operators "&" and "&=" are valid only for integer-valued groups. The bitwise AND, "&", is true if ((integer_group & filter) /= 0)—that is, if any of the bits set in the mask are also set in the integer group. The bitwise masked equals, "&=", is true if ((integer_group & filter) = filter)—that is, if all bits set in the mask are also set in the integer_group (other bits might be set in the integer_group but are not checked).
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-13 01:32:21 | 显示全部楼层
发个测试图例好么?wkai
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-13 07:50:48 | 显示全部楼层
;;以下效果一樣
(ssget "X" '((0 . "POLYLINE") (-4 . "&") (70 . 1)))
(ssget "X" '((0 . "POLYLINE") (-4 . "&=") (70 . 1)))

;;原因如下:
;;可多樣(組合)
(ssget "X" '((0 . "POLYLINE") (-4 . "&") (70 . 5)));這個5 是組合的5 = 1 + 4
;;單一
(ssget "X" '((0 . "POLYLINE") (-4 . "&=") (70 . 5)));雖然是5,但它是單一的5

"&" 逐位 AND(只限整數群組)
"&="逐位遮罩等號(只限整數群組)
關係運算子的使用是取決於您在測試的群組而定:

除了逐位運算子("&" 和 "&=")之外,所有的關係運算子都適用於實數與整數值的群組。
逐位運算子 "&" 和 "&=" 只適用於整數值的群組。

如果 ((integer_group & filter) /= 0) ,則逐位 AND "&" 為真時就是說,
如果在遮罩中有設定任何位元,則在整數群組中也會設定。

如果 ((integer_group & filter) = filter),則逐位遮罩的等於 "&=" 為真時就是說,
如果在遮罩中設定了所有位元,則在 integer_group 也會設定
(其它位元可能在 integer_group 中設定,但未檢查)。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-1-13 22:20:29 | 显示全部楼层
我的理解:)
&=就是:
(logand (dxf 70 (entget e)) 1) =? 1

&就是:
(logand (dxf 70 (entget e)) 1)

在这里是一样的.


&
:Bitwise AND  

&=
:Bitwise marked equals
marked翻成遮罩,不妥吧
应该是标记相等--->把相等的(位)找出来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-14 09:50:19 | 显示全部楼层
70 聚合線旗號(位元碼);預設值為 0:

  1 = 此為封閉聚合線(或 M 方向封閉的多邊形網面)。
  2 = 已加入曲線擬合頂點。
  4 = 已加入雲形線擬合頂點。
  8 = 此為 3D 聚合線。
16 = 此為 3D 多邊形網面。
32 = 於 N 方向封閉的多邊形網面。
64 = 聚合線是多邊面網面。
128 = 線型樣式沿著此聚合線頂點連續產生。


測試如下
1.畫雲形線擬合頂點。
選取物件:
((-1 . <圖元名稱: 7efcae18>) (0 . "POLYLINE") (330 . <圖元名稱: 7efc6440>) (5 .
"6FAB") (100 . "AcDbEntity") (67 . 1) (410 . "配置2") (8 . "0") (100 .
"AcDb2dPolyline") (66 . 1) (10 0.0 0.0 0.0) (70 . 5) (40 . 0.0) (41 . 0.0) (210
0.0 0.0 1.0) (71 . 0) (72 . 0) (73 . 0) (74 . 0) (75 . 6))


2.畫曲線擬合頂點。
選取物件:
((-1 . <圖元名稱: 7e948060>) (0 . "POLYLINE") (330 . <圖元名稱: 7efc6440>) (5 .
"6FEC") (100 . "AcDbEntity") (67 . 1) (410 . "配置2") (8 . "0") (100 .
"AcDb2dPolyline") (66 . 1) (10 0.0 0.0 0.0) (70 . 3) (40 . 0.0) (41 . 0.0) (210
0.0 0.0 1.0) (71 . 0) (72 . 0) (73 . 0) (74 . 0) (75 . 0))


3.畫封閉聚合線
選取物件:
((-1 . <圖元名稱: 7e9482e0>) (0 . "POLYLINE") (330 . <圖元名稱: 7efc6440>) (5 .
"703C") (100 . "AcDbEntity") (67 . 1) (410 . "配置2") (8 . "0") (100 .
"AcDb2dPolyline") (66 . 1) (10 0.0 0.0 0.0) (70 . 1) (40 . 0.0) (41 . 0.0) (210
0.0 0.0 1.0) (71 . 0) (72 . 0) (73 . 0) (74 . 0) (75 . 0))

;;再用下列測試一下
;;可多樣(組合)
(ssget "X" '((0 . "POLYLINE") (-4 . "&") (70 . 5)));這個5 是組合的5 = 1 + 4
;;單一
(ssget "X" '((0 . "POLYLINE") (-4 . "&=") (70 . 5)));雖然是5,但它是單一的5
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-14 23:39:45 | 显示全部楼层
(ssget "X" '((0 . "POLYLINE") (-4 . "&=") (70 . 5)));雖然是5,但它是單一的5
如果&=指的是单一的5,那么它和 = 有什么区别?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-15 07:57:26 | 显示全部楼层
對只有(70 . 1)的選不到
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-16 19:58:44 | 显示全部楼层
为什么我保存这个网页的时候出现,“某个文件丢失,无法保存网页”的提示?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-10-31 07:30 , Processed in 0.443146 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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