乐筑天下

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

[编程交流] 如何将所有点更改为

[复制链接]

12

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 2022-7-5 16:50:23 | 显示全部楼层 |阅读模式
我找到了一个lisp,但它不能同时将所有点都变成矩形。
请有任何人可以帮我尝试更新这个Lisp程序?还是给我另一个选择?
谢谢!!
 
  1. (defun C:ptr ()
  2. (setq wide (getdist "\nEnter Rectangle X Dimension ? :")
  3. (setq high (getdist "\nEnter Rectangle Y Dimension ? :")
  4. (setq ptc (getpoint "\nPick Center of Rectangle:")
  5. hwide (/ wide 2.0)
  6. hhigh (/ high 2.0)
  7. ptll (list (- (car ptc) hwide) (- (cadr ptc) hhigh))
  8. ptur (list (+ (car ptll) wide) (+ (cadr ptll) high))
  9. )
  10. (setvar "plinewid" 0.0)
  11. (command ".PLINE" ptll "W" "0" "0" ".X" ptur ".Y" ptll ptur ".X" ptll ".Y" ptur "C")
  12. )
  13. (prin1)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:54:39 | 显示全部楼层
这应该足够了。
 
  1. (defun c:Test (/ w h p)
  2. (if (and (setq w (getdist "\n Specify Rectangle X Dimension :"))
  3.           (setq h (getdist "\n Specify Rectangle Y Dimension :"))
  4.           (setq p (getpoint "\n Pick Center Point of Rectangle:"))
  5.      )
  6.    (command "_.rectang" "_w" 0.0 "_non" (setq 1p (polar (polar p (* pi 0.5) (/ h 2.)) pi (/ w 2.))) "_non"
  7.             (polar (polar 1p 0. w) (* pi 1.5) h)
  8.    )
  9. )
  10. (princ)
  11. )
回复

使用道具 举报

12

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 2022-7-5 16:59:02 | 显示全部楼层
亲爱的Tharwat,
谢谢你的回复。
我有很多点,我怎么能把所有的点同时变成矩形??在你的Lisp程序中,我需要逐个选择点。
 
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:05:57 | 显示全部楼层

 
  1. (defun c:Test (/ w h p s i 1p 2p 3p 4p)
  2. ;;         Tharwat 10.12.2014                ;;
  3. ;; Draw rectangles using the center         ;;
  4. ;;         of selected points                 ;;
  5. (if (and (setq w (getdist "\n Specify Rectangle X Dimension :"))
  6.           (setq h (getdist "\n Specify Rectangle Y Dimension :"))
  7.           (princ "\n Select Point objects ...")
  8.           (setq s (ssget '((0 . "POINT"))))
  9.      )
  10.    (repeat (setq i (sslength s))
  11.      (setq p  (cdr (assoc 10 (entget (ssname s (setq i (1- i))))))
  12.            1p (polar (polar p (* pi 0.5) (/ h 2.)) pi (/ w 2.))
  13.            2p (polar 1p 0. w)
  14.            3p (polar 2p (* pi 1.5) h)
  15.            4p (polar 3p pi w)
  16.      )
  17.      (entmakex
  18.        (append (list '(0 . "LWPOLYLINE")
  19.                      '(100 . "AcDbEntity")
  20.                      '(100
  21.                        .
  22.                        "AcDbPolyline"
  23.                       )
  24.                      '(90 . 4)
  25.                      '(70 . 1)
  26.                )
  27.                (mapcar '(lambda (q) (cons 10 q)) (list 1p 2p 3p 4p))
  28.        )
  29.      )
  30.    )
  31. )
  32. (princ)
  33. )
回复

使用道具 举报

12

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 2022-7-5 17:09:06 | 显示全部楼层
亲爱的Tharwat,
非常感谢你。。。。。。。。。。。。这是对的。
你是个天才D: D
 
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:12:50 | 显示全部楼层
 
非常欢迎你。
回复

使用道具 举报

12

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 2022-7-5 17:15:06 | 显示全部楼层
亲爱的Tharwat,
乌烟瘴气!!再次打扰你。。。。。。。。。
请问,有没有可能用多个圆变成多个矩形?
或者许多矩形改变了我需要的大小?
 
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:20:45 | 显示全部楼层
 
只需替换程序中的以下行。
 

 
  1. (setq s (ssget '((0 . "POINT"))))

 
用这个。。
 
  1. (setq s (ssget '((0 . "POINT,CIRCLE"))))
回复

使用道具 举报

12

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 2022-7-5 17:24:33 | 显示全部楼层
亲爱的Tharwat,
那很好。你真是我的英雄。
非常感谢。。。。
 
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:30:12 | 显示全部楼层
 
 
祝您有个美好的一天。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 12:58 , Processed in 1.224732 second(s), 72 queries .

© 2020-2025 乐筑天下

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