乐筑天下

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

[编程交流] 边界修剪路线

[复制链接]

25

主题

61

帖子

38

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-6 14:14:24 | 显示全部楼层 |阅读模式
大家好,
 
我只是想知道为什么这个嘴唇不起作用,请看附件中的图片,路径必须像这样,选择点1到点2作为矩形边界,它将在我打开的矩形窗口上修剪,代码如下:
 
  1. (defun c:cut () (graphscr)
  2.        [color=red](setvar "osmode" 31743)[/color]
  3.        (setvar "cmdecho" 0)
  4.        (initget 32)
  5.        (setq pnt1 (getpoint "First corner of rectangle: ")) (terpri)
  6.        (setq pnt3 (getcorner "Second corner: " pnt1 ))(terpri)
  7.        (setq pnt2 (list (car pnt1) (cadr pnt3)))
  8.        (setq pnt4 (list (car pnt3) (cadr pnt1)))
  9.        (command "Pline" pnt1 pnt2 pnt3 pnt4 "c")
  10.        (setq el (entlast))
  11.        (repeat 3
  12.        (setq pt1 (list (+ (car pnt1) 0.05)(+ (cadr pnt1) 0.05)))
  13.        (setq pt2 (list (+ (car pnt2) 0.05)(- (cadr pnt2) 0.05)))   
  14.        (setq pt3 (list (- (car pnt3) 0.05)(- (cadr pnt3) 0.05)))   
  15.        (setq pt4 (list (- (car pnt4) 0.05)(+ (cadr pnt4) 0.05)))   
  16.        (command "trim" el "" "f" pt1 pt2 pt3 pt4 pt1 "" "" )
  17.        )
  18.        [color=black](command "erase" "w" pnt1 pnt3 "" )[/color]
  19. [color=black]       (command "erase" el "" )[/color]
  20.        (setvar "cmdecho" 1)
  21.        [color=red](setvar "osmode" 15359)[/color]
  22. (princ)
  23. )
  24. cls

 
我不明白为什么它会删除所有选中的行:哎呀:请在这条路线上帮助我,
 
提前感谢大家,
151427cusl9khucu6s9oo9.jpg
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 14:34:37 | 显示全部楼层
你试过了吗?
回复

使用道具 举报

25

主题

61

帖子

38

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-6 14:39:47 | 显示全部楼层
是的,JohnM,我已经试过了,我认识到当第一个角点拾取从左下到右上第二个角点拾取时,它工作正常,但为什么当我拾取右侧或左上角到选定边界的第一个角点时,该线将被删除,
 
非常感谢JohnM,我将在代码中添加快照:D
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 14:52:54 | 显示全部楼层
这可能是由于你的拣选箱的大小-大卫
 
此外,隐含选择也有自己的规则。
151429mjzj6wj2samtimzx.jpg
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-6 15:07:00 | 显示全部楼层
快速。。。
  1. (defun c:cut (/ p1 p2 ofd clst ll lr ur ul ent trimpts)
  2. (graphscr)
  3. (setvar "cmdecho" 0)
  4. (setq p1 (getpoint "\nFirst corner of rectangle: "))
  5. (initget 32)
  6. (setq p2 (getcorner "\nSecond corner: " p1))
  7. (if (and p1 p2)
  8.    (progn
  9.      (command "_.undo" "begin")
  10.      (setq ofd  0.05         ; offset distance
  11.            clst (list p1 p2)
  12.      )
  13.      ;; get lower left corner
  14.      (setq ll (list (apply 'min (mapcar 'car clst))
  15.                     (apply 'min (mapcar 'cadr clst))
  16.               )
  17.      )
  18.      ;;  get upper right corner
  19.      (setq ur (list (apply 'max (mapcar 'car clst))
  20.                     (apply 'max (mapcar 'cadr clst))
  21.               )
  22.      )
  23.      (setq lr (list (car ur) (cadr ll)))
  24.      (setq ul (list (car ll) (cadr ur)))
  25.      (command "Pline" "_non" ll "_non" lr "_non" ur "_non" ul "c")
  26.      (setq ent (entlast))
  27.      (setq trimpts (list
  28.                      (polar ll (* pi 0.25) ofd)
  29.                      (polar lr (* pi 0.75) ofd)
  30.                      (polar ur (* pi 1.25) ofd)
  31.                      (polar ul (* pi 1.75) ofd)
  32.                      (polar ll (* pi 0.25) ofd)
  33.                    )
  34.      )
  35.      (repeat 2
  36.        (command "trim" ent "" "f")
  37.        (foreach x trimpts (command "_non" x))
  38.        (command "" "")
  39.      )
  40.      (if (setq x (ssget "wp" trimpts))
  41.        (command "erase" x "")
  42.      )
  43.      (entdel ent)
  44.      (command "_.undo" "end")
  45.    )
  46. )
  47. (setvar "cmdecho" 1)
  48. (princ)
  49. )
回复

使用道具 举报

25

主题

61

帖子

38

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-6 15:20:05 | 显示全部楼层
谢谢CAB,
 
你的路线很完美,正是我需要的,
 
 
再次感谢各位朋友
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 03:07 , Processed in 0.920161 second(s), 67 queries .

© 2020-2025 乐筑天下

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