乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 36|回复: 19

[编程交流] 不带图案填充的图案填充

[复制链接]

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 10:28:08 | 显示全部楼层 |阅读模式
大家好,
 
是否可以选取一个随机形状的闭合多边形或边界,用垂直线填充,从最左侧的点开始偏移100,就像图案填充一样。
 
不使用图案填充的原因是我想测量每条垂直线,然后创建一个列表。
 
提前谢谢。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:32:20 | 显示全部楼层
简单的回答是。。。对
 
研究vla getboundingbox方法以提取最小和最大坐标(X和Y轴)。
 
选择闭合多段线后,以编程方式确定边界框,然后绘制第一条垂直线,循环偏移,直到边界框外存在下一个极坐标x,然后我相信_extrim命令将删除不需要的线段(在多段线之外)。
 
编辑:代替_extrim调用可以使用vla insertsectwith方法提取交点。
 
... 然后进入列表函数。完成。
 
希望这有帮助!
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 10:35:26 | 显示全部楼层
您可以创建图案填充并将其分解;分解将使图案填充变成线条。
 
不要引用我的话,因为我会否认有人建议炸掉舱门
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:40:12 | 显示全部楼层
 
 
是 啊我想那会少打字,嗯!?英雄联盟
回复

使用道具 举报

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 10:41:15 | 显示全部楼层
 
真不敢相信我居然没想到!引爆舱口安全吗?还是被认为是坏习惯?
 
我仍将研究vla getboundingbox命令以查找图案填充的原点
 
谢谢你们俩
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 10:45:59 | 显示全部楼层
我会站在房间外面
 
糟糕的做法。任何时候我得到一个带有分解图案的图纸,都会有人得到它
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:48:29 | 显示全部楼层
 
 
绝对不是!!!
 
这样做将在白宫敲响警钟,你的办公室将被FBI特工包围。。。如果你问我的话,坏消息是熊。
 
我完全是在开玩笑!今天我又忍不住了。
 
 
 
 
凉豆;但为了澄清,边界框是整体多段线的最小值(左下)和最大值(右上)。。。图案填充的原点位于多段线的质心(不总是在所述多段线内)。
 
祝你好运
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 10:52:56 | 显示全部楼层
尤其是AR-CONC或DOT。
 
 
要细细咀嚼/让你开始的东西。。。
或者这个。。。
  1. (defun c:Test2 (/ e p1 p4 i)
  2. ;; Alan J. Thompson, 09.14.10
  3. (if (and (setq e (car (entsel)))
  4.           (not (initget 6))
  5.           (setq i (getdist "\nSpecify incriment distance: "))
  6.           (not (vla-getBoundingBox (vlax-ename->vla-object e) 'p1 'p4))
  7.           (setq p1 (vlax-safearray->list p1)
  8.                 p4 (vlax-safearray->list p4)
  9.           )
  10.      )
  11.    ((lambda (d p2 p3 dst)
  12.       (while (> dst (setq d (+ d i)))
  13.         (entmake (list '(0 . "LINE") (cons 10 (polar p1 0. d)) (cons 11 (polar p3 0. d))))
  14.       )
  15.     )
  16.      (- 0. i)
  17.      (list (car p4) (cadr p1))
  18.      (list (car p1) (cadr p4))
  19.      (abs (- (car p1) (car p4)))
  20.    )
  21. )
  22. (princ)
  23. )
回复

使用道具 举报

5

主题

20

帖子

15

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 10:54:58 | 显示全部楼层
 
呵呵,希望FBI不会游泳!它只有几条直线,而不是点或弧,所以一旦爆炸,没有人会知道。。。如果你不一定要确保天平不会把事情搞砸,我不会告诉你。
 
当然,我也会看一看所有其他的建议,等我想好了再报告。
 
谢谢大家
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 10:57:02 | 显示全部楼层
如果选择图案填充路线,可以使用类似的方法分解并形成每个线图元的列表。
 
  1. (defun foo (e / l)
  2. (if (and (eq (type e) 'ENAME) (eq "HATCH" (cdr (assoc 0 (entget e)))))
  3.    (progn
  4.      (command "_.explode" e)
  5.      (while (setq e (entnext e)) (and (eq "LINE" (cdr (assoc 0 (entget e)))) (setq l (cons e l))))
  6.      l
  7.    )
  8. )
  9. )

 
例如(选择一块只有线条的图案填充)
  1. (foo (car (entsel)))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-6 18:06 , Processed in 0.382163 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表