乐筑天下

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

[编程交流] 到属性块的距离

[复制链接]

5

主题

8

帖子

4

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 17:02:53 | 显示全部楼层 |阅读模式
大家好
我正在寻找一个lisp来获得从2个点(由用户)的距离,并将结果插入属性块
上网后我发现了这个代码
  1. (defun c:FOO (/ pt)
  2. (if (setq pt (getpoint "\nSpecify base point: "))
  3.    (while (and (not (initget 32))
  4.                (/= nil (setq pt2 (getpoint pt "\nSpecify point to measure: "))))
  5.      (prompt (strcat "\n  >>  Distance  >>  " (rtos (distance pt pt2) 2 2))))
  6.    (prompt "\n** Invalid point ** "))
  7. (princ))

由BlackBox创建
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 17:18:56 | 显示全部楼层
这可能是一个更好的前端:
 
  1. [b][color=BLACK]([/color][/b]defun c:ptd [b][color=FUCHSIA]([/color][/b]/ p1 p2 d3 d2 dx dy dz[b][color=FUCHSIA])[/color][/b]
  2. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
  3. [b][color=FUCHSIA]([/color][/b]setq p1 [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\n1st Point:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  4. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
  5. [b][color=FUCHSIA]([/color][/b]setq p2 [b][color=NAVY]([/color][/b]getpoint p1 [color=#2f4f4f]"\n2nd Point:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  6. [b][color=FUCHSIA]([/color][/b]setq d3 [b][color=NAVY]([/color][/b]distance p1 p2[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  7. [b][color=FUCHSIA]([/color][/b]setq d2 [b][color=NAVY]([/color][/b]distance [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  8.                     [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  9. [b][color=FUCHSIA]([/color][/b]princ [b][color=NAVY]([/color][/b]strcat [color=#2f4f4f]"\n3D="[/color] [b][color=MAROON]([/color][/b]rtos d3 2 2[b][color=MAROON])[/color][/b]
  10.                 [color=#2f4f4f]"\t2D="[/color] [b][color=MAROON]([/color][/b]rtos d2 2 2[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  11. [b][color=FUCHSIA]([/color][/b]setq dx [b][color=NAVY]([/color][/b]- [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  12. [b][color=FUCHSIA]([/color][/b]setq dy [b][color=NAVY]([/color][/b]- [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  13. [b][color=FUCHSIA]([/color][/b]setq dz [b][color=NAVY]([/color][/b]- [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]caddr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]caddr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]caddr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]caddr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  14. [b][color=FUCHSIA]([/color][/b]princ [b][color=NAVY]([/color][/b]strcat [color=#2f4f4f]"\nX Axis:"[/color] [b][color=MAROON]([/color][/b]rtos dx 2 2[b][color=MAROON])[/color][/b]
  15.                 [color=#2f4f4f]"\tY Axis:"[/color] [b][color=MAROON]([/color][/b]rtos dy 2 2[b][color=MAROON])[/color][/b]
  16.                 [color=#2f4f4f]"\tZ Axis:"[/color] [b][color=MAROON]([/color][/b]rtos dz 2 2[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  17. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
[列表]
  • 一切都是WCS吗?
  • 你有属性块吗?
  • 在价值观和格式方面,你到底在寻找什么?
    [/列表]
     
     
    -大卫
  • 回复

    使用道具 举报

    66

    主题

    1552

    帖子

    1514

    银币

    后起之秀

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

    铜币
    325
    发表于 2022-7-5 17:35:37 | 显示全部楼层
    我认为他可能期待着这样的事情:
    1. (defun C:test ( / *error* lst e )
    2. (defun *error* (msg) (princ "\nSorry that I forced you to press Esc, to exit!") (princ))
    3. (if (and (car (setq lst (list (getpoint "\nFirst point: ")))) (apply 'and (setq lst (append lst (list (getpoint "\nSecond point: " (car lst)))))))
    4.         (while
    5.                 (not
    6.                         (and
    7.                                 (setq e (car (nentsel (strcat "\nDistance to fill is: "" (rtos (apply 'distance lst)) "" units, Select text/mtext/attrib."))))
    8.                                 (vl-position (cdr (assoc 0 (entget e))) '("TEXT" "MTEXT" "ATTRIB"))
    9.                                 (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-TextString (list (vlax-ename->vla-object e) (rtos (apply 'distance lst))))))               
    10.                         )
    11.                 )
    12.                 e
    13.         )
    14. )
    15. (princ)
    16. );| defun |; (or vlax-get-acad-object (vl-load-com)) (princ)
    回复

    使用道具 举报

    5

    主题

    8

    帖子

    4

    银币

    初来乍到

    Rank: 1

    铜币
    25
    发表于 2022-7-5 17:56:55 | 显示全部楼层
    非常感谢David Bethel和Grrr:)
    与塔尔瓦特私下聊天后:诺沃西:他成功地解决了我的请求
    我感谢你的努力
    谢谢,就这些
    回复

    使用道具 举报

    63

    主题

    6297

    帖子

    6283

    银币

    后起之秀

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

    铜币
    358
    发表于 2022-7-5 18:09:20 | 显示全部楼层
    不客气。
    回复

    使用道具 举报

    发表回复

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

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

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

    GMT+8, 2025-3-14 02:11 , Processed in 4.219684 second(s), 63 queries .

    © 2020-2025 乐筑天下

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