乐筑天下

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

[编程交流] 外缘

[复制链接]

17

主题

40

帖子

23

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 20:10:47 | 显示全部楼层 |阅读模式
正如我所知,矩形的边只知道它们的周长。
Lisp程序。
 
非常感谢。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 20:20:31 | 显示全部楼层
难道你不需要知道关于矩形的其他信息,比如它的面积或两个对角之间对角线的长度吗?
 
211050op07z0pj0fg0zznm.jpg
 
两个大小不同的矩形,但它们的周长相同。这些领域也不同。
回复

使用道具 举报

17

主题

40

帖子

23

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 20:27:59 | 显示全部楼层
只有我单独作为周长或区域。有时是面积或周长
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 20:29:44 | 显示全部楼层
因此,lisp例程启动,提示用户单击一个矩形,并在进行拾取后显示矩形的长度和宽度?
 
您是否正在查看包含有人用周长或面积标记的矩形的CAD图纸?是这样吗?
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 20:36:36 | 显示全部楼层
 

  1. (defun c:test (/ en l)
  2. ;perimeter for LWPolyline only
  3. (if (and (setq en (car (entsel "\nPick entity..")))
  4.    (setq lst (entget en)
  5.          l   (= (cdr (assoc 0 lst)) "LWPOLYLINE")
  6.          ) ;_ end of setq
  7.    ) ;_ end of and
  8.    (progn (setq l (vl-remove-if-not ''((x) (= (car x) 10)) lst))
  9.    (princ
  10.      (strcat "\nPerimeter= "
  11.              (rtos (apply '+ (mapcar ''((a b) (distance a b)) l
  12.                 (append (cdr l) (list (car l))))) 2 3) ; _ end of rtos
  13.              ) ;_ end of strcat
  14.      ) ;_ end of princ
  15.    ) ;_ end of progn
  16.    ) ;_ end of if
  17. (princ)
  18. ) ;_ end of defun
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 20:41:48 | 显示全部楼层
当LIST命令不仅会给用户提供周长,而且还会给用户提供面积时,为什么还要麻烦使用自定义lisp例程呢?如果仔细观察结果,就能计算出长度和宽度。
 
在矩形上运行LIST命令的示例。你能推断出长度和宽度吗?
 
211053dtuzwwe2rneettnn.jpg
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 20:48:43 | 显示全部楼层
说得好,ReMark先生!!
也许OP想学习编码?
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 20:53:53 | 显示全部楼层
或者OP想知道矩形的长度和宽度,因为他已经知道了面积或周长?
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 20:59:09 | 显示全部楼层
也许你是对的。等待OP回复
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 21:08:23 | 显示全部楼层
如果使用VLISP,面积和长度是直接答案,也是闭合的。
 
  1. (setq ent (entsel "Pick pline"))
  2. (setq obj (vlax-ename->vla-object (car ent)))
  3. (setq area (vlax-get-property obj 'Area))
  4. (setq Length (vlax-get-property obj 'length))
  5. (setq closed (vlax-get-property obj 'Closed))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:03 , Processed in 0.519030 second(s), 74 queries .

© 2020-2025 乐筑天下

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