乐筑天下

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

[编程交流] 重复测量

[复制链接]

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:32:57 | 显示全部楼层
难以置信,似乎alisp部分在win和mac版本之间非常不同
 
 
; 错误:无函数定义:VLAX-CURVE-GETSTARTPOINT
 
在autodesk网页上:
 
返回曲线的起点(在WCS中)
 
支持的平台:仅限Windows
 
grrr,我不觉得好笑
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:37:14 | 显示全部楼层
如果您希望使用使用曲线函数的lisp例程,那么您会发现Mac版本相当吃力。
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:38:19 | 显示全部楼层
看起来不太好:
 
程序支持的编程接口包括:
 
Windows和Mac操作系统
AutoLISP®
二次开发™
仅限Windows
ActiveX®自动化
管理。净额
VBA(Visual Basic®for Applications)
Visual LISP™
JavaScript
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:41:21 | 显示全部楼层
 
是的,看起来像。这是一个令人沮丧的人。也许我需要调查犀牛。。。太懒了,无法再次从0开始,但mac autocad也有一些其他方面落后&存在问题。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 16:44:32 | 显示全部楼层
只是为了确认罗伊的代码工作得完美无缺:
 
 
但我必须改变的一件事是:
 
  1. (repeat ([color="red"]1+[/color] (fix (/ (apply 'distance basePtLst) dist)))

 
因为它跳过了最后一个维度(假设增量为100个单位,而最后一个维度是线端点之前的150个单位)。
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:49:30 | 显示全部楼层
非常感谢Roy&Grrr!!!!
 
 
太棒了,这正是我想要的。
 
将尝试在虚拟机上安装Win AutoCad,以便我可以使用此功能,因为AutoCad Mac似乎是一个迷!
 
干杯-汤姆
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 16:54:05 | 显示全部楼层
抓得好。谢谢我还忘了包括(vl load com)。
代码的新版本修复了以下问题:
  1. (vl-load-com)
  2. (defun KGA_List_Divide_3 (lst / ret)
  3. (repeat (/ (length lst) 3)
  4.    (setq ret (cons (list (car lst) (cadr lst) (caddr lst)) ret))
  5.    (setq lst (cdddr lst))
  6. )
  7. (reverse ret)
  8. )
  9. (defun KGA_Sys_ObjectOwner (obj)
  10. (vla-objectidtoobject (vla-get-database obj) (vla-get-ownerid obj))
  11. )
  12. (defun DimCurveAtPoint (curve pt / space tmp)
  13. (setq space (KGA_Sys_ObjectOwner curve))
  14. (setq tmp (vlax-invoke space 'addxline pt (mapcar '+ '(0.0 1.0 0.0) pt)))
  15. (foreach int (KGA_List_Divide_3 (vlax-invoke curve 'intersectwith tmp acextendnone))
  16.    (vlax-invoke space 'adddimaligned pt int pt)
  17. )
  18. (vla-delete tmp)
  19. )
  20. (defun c:DimCurve ( / baseEntselLst basePtLst curve dist doc pt vec)
  21. (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  22. (vla-endundomark doc)
  23. (vla-startundomark doc)
  24. (if
  25.    (and
  26.      (setq curve (car (entsel "\nSelect curve: ")))
  27.      (setq baseEntselLst (entsel "\nSelect base line near start point: "))
  28.      (setq dist (getdist "\nDistance between dimensions: "))
  29.    )
  30.    (progn
  31.      (setq pt (cadr baseEntselLst))
  32.      (setq basePtLst
  33.        (list
  34.          (vlax-curve-getstartpoint (car baseEntselLst))
  35.          (vlax-curve-getendpoint (car baseEntselLst))
  36.        )
  37.      )
  38.      (if (> (distance pt (car basePtLst)) (distance pt (cadr basePtLst)))
  39.        (setq basePtLst (reverse basePtLst))
  40.      )
  41.      (setq curve (vlax-ename->vla-object curve))
  42.      (setq pt (car basePtLst))
  43.      (setq vec
  44.        (list
  45.          (if (> (caar basePtLst) (caadr basePtLst)) (- dist) dist)
  46.          0.0
  47.          0.0
  48.        )
  49.      )
  50.      (repeat (1+ (fix (/ (apply 'distance basePtLst) dist))) ; Thanks Grrr.
  51.        (DimCurveAtPoint curve pt)
  52.        (setq pt (mapcar '+ pt vec))
  53.      )
  54.    )
  55. )
  56. (vla-endundomark doc)
  57. (princ)
  58. )
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 16:55:57 | 显示全部楼层
您也可以在不使用任何代码的情况下解决此问题:
 
[列表=1]
  • 从基线起点到曲线顶部(或底部)以外的点绘制一条垂直线。
  • 创建一个多行文字,其中包含一个显示行长度的字段。
  • 排列垂直线和多行文字。
  • 使用曲线作为切割图元修剪所有垂直线。使用_Fence选项可以有效地选择要修剪的所有线。
  • 使用\u UpdateFields命令。
    [/列表]
  • 回复

    使用道具 举报

    1

    主题

    12

    帖子

    11

    银币

    初来乍到

    Rank: 1

    铜币
    5
    发表于 2022-7-5 17:00:37 | 显示全部楼层
    非常感谢罗伊,我会试试的。
     
    在虚拟机上安装了ACad,你的代码运行得很好。非常感谢,节省了我很多时间!!!!
    回复

    使用道具 举报

    发表回复

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

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

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

    GMT+8, 2025-3-13 21:10 , Processed in 0.392792 second(s), 69 queries .

    © 2020-2025 乐筑天下

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