乐筑天下

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

[编程交流] 自定义采购订单的LISP例程

[复制链接]

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 22:51:23 | 显示全部楼层 |阅读模式
我正在寻找一些常规帮助。。。我确信有一种方法可以实现这一点,但我对LISP编程场景还不熟悉。任何帮助我开始将不胜感激!!!
 
这是我要找的。。。我希望用户选择第一个点,选择对象周围的“路径”(当然可以灵活使用捕捉),然后选择最后一个点。程序在对象周围保持一定的标准?我附上了几个PDF文件,可能有助于更好地解释这一点。。。
 
再次感谢您的帮助!!!
用户输入。pdf
成品柱脚。pdf
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 23:01:49 | 显示全部楼层
如果你手动绘制比让程序来做要可靠得多,而且这个例程的目的还不清楚。。。你可以快速地画出这张图并打分,但我只是看不出你可以在哪里使用例程来完成类似的任务,以便完成更大项目的某些步骤。。。
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:04:03 | 显示全部楼层
感谢您的回复。。。。多段线的目的是计算从卧室门到最近出口的“行程距离”。我们必须在35英尺以内。目前,我们正在手动绘制p线,但似乎需要大约2分钟才能实现。(我们当前的过程是在角落周围绘制所需的圆,然后从门的中心到圆的切线绘制线,我们修剪这些线并将所有这些线连接到一条p线,这样我们就可以“列出”该线以获得测量值。)
 
我只是觉得Lisp程序的例行程序需要2分钟到几秒钟才能完成??我很想知道除了常规之外的另一个技巧,如果你有一个。。。我每天都在学习新的东西!
 
再次感谢您的回复。。。
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 23:09:36 | 显示全部楼层
如果这就是目的,我只需要使用pline命令并选取这3个点,然后从“属性”选项板中获取长度。。。只需在没有任何弧的情况下近似选取它们,长度会稍大一些,但如果是逃生路线,则最好在总体计算中考虑比较近距离更远的距离。。。点击1,2,3次,就这样,没有例行程序-作业完成了。。。
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:17:36 | 显示全部楼层
我很感激marko_ribar。。。
 
还有谁能帮上忙吗?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:24:31 | 显示全部楼层
简单的小宏
 
  1. (defun pll ( / obj )
  2. (command "_pline")
  3. (while (= (getvar "cmdactive") 1 ) (command pause)
  4. )
  5. (setq obj (vlax-ename->vla-object (car (entlast))))
  6. (setq plen (vlax-get-property obj 'length))
  7. (alert (strcat "Pline is " (rtos plen 2 0) " long"))
  8. (vla-erase obj) ; if want to remain remove line
  9. )
  10. (pll)
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 23:33:10 | 显示全部楼层
  1. (defun c:plarcedcorner ( / osm p1 p2 p3 r LM:PointCircleTangents p1plst p3plst p11 p12 p31 p32 p1p p3p p13pm p13pa obj plen )
  2. (vl-load-com)
  3. (setq osm (getvar 'osmode))
  4. (setq p1 (getpoint "\nPick or specify start point : "))
  5. (setq p2 (getpoint "\nPick or specify middle corner point : " p1))
  6. (setq p3 (getpoint "\nPick or specify end point : " p2))
  7. (initget 7)
  8. (setq r (getdist "\nPick or specify radius of arc around middle corner point : " p2))
  9. ;; Point-Circle Tangents  -  Lee Mac
  10. ;; Returns the two points for which a line from 'pt' to each point returned
  11. ;; is tangent to the circle with centre c1 and radius r1
  12. (defun LM:PointCircleTangents ( pt c1 r1 / a1 a2 d1 )
  13.    (if (< r1 (setq a1 (angle c1 pt) d1 (distance pt c1)))
  14.      (progn
  15.        (setq a2 (atan (sqrt (- (* d1 d1) (* r1 r1))) r1))
  16.        (list
  17.          (polar c1 (+ a1 a2) r1)
  18.          (polar c1 (- a1 a2) r1)
  19.        )
  20.      )
  21.    )
  22. )
  23. (setvar 'osmode 0)
  24. (setq p1plst (LM:PointCircleTangents p1 p2 r))
  25. (setq p3plst (LM:PointCircleTangents p3 p2 r))
  26. (setq p11 (car p1plst))
  27. (setq p12 (cadr p1plst))
  28. (setq p31 (car p3plst))
  29. (setq p32 (cadr p3plst))
  30. (if (> (min (distance p11 p31) (distance p11 p32)) (min (distance p12 p31) (distance p12 p32)))
  31.    (setq p1p p11)
  32.    (setq p1p p12)
  33. )
  34. (if (> (min (distance p31 p11) (distance p31 p12)) (min (distance p32 p11) (distance p32 p12)))
  35.    (setq p3p p31)
  36.    (setq p3p p32)
  37. )
  38. (setq p13pm (mapcar '(lambda ( a b ) (/ (+ a b) 2.0)) p1p p3p))
  39. (setq p13pa (polar p2 (angle p2 p13pm) r))
  40. (command "_.pline" p1 p1p "_A" "_S" p13pa p3p "_L" p3 "")
  41. (setq obj (vlax-ename->vla-object (entlast)))
  42. (setq plen (vlax-get-property obj 'length))
  43. (prompt (strcat "Pline is : " (rtos plen 2 15) " long"))
  44. (setvar 'osmode osm)
  45. (princ)
  46. )
M.R。
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:34:38 | 显示全部楼层
真 的!!你们都很棒!!!非常感谢!!
 
马可·里巴:这正是我想要的。我将能够在此基础上提供更多功能!!你太棒了!
 
比加尔:也谢谢你!!!
回复

使用道具 举报

1

主题

11

帖子

10

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:39:44 | 显示全部楼层
你好,马可·里巴!
 
 
我对Brandonhar也有同样的问题,但我的是自定义线型。我需要先创建自定义线型。
 
 
我附上了一张图片给你,让你明白我想说什么。
 
 
非常感谢。
235125i7qsy34yzp38cj7o.jpg
235135a8hheo669z37wh6l.jpg
235141qz1by8fhp09nlc19.jpg
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:47:19 | 显示全部楼层
小罗兰多,你已经有了一条专门的线索。请不要分裂讨论!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

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

© 2020-2025 乐筑天下

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