乐筑天下

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

[编程交流] 画箭

[复制链接]

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:15:43 | 显示全部楼层
对的
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:18:15 | 显示全部楼层
顺便说一句,你应该发布你的完整/固定例程,这可能会帮助其他人眨眼:
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 11:22:42 | 显示全部楼层
在这里,我毫不犹豫地向所有亲爱的成员致意。。。。。。。享受它。
  1. (defun c:arrow (/ p1 p2 dist vrt pickangle p3 p4 old new)
  2. (setq p1 (getpoint        "\nSpecify Start point of Arrow:")
  3.      p2 (getpoint p1         "\nSpecify End point of Arrow:")
  4.      dist (distance p1 p2)
  5.      vrt (/ dist 3)
  6.      pickAngle (angle p1 p2)
  7.     p3 (polar p2 (+ pickAngle (/ pi 2)) vrt)
  8.     p4 (polar p2 (- pickAngle (/ pi 2)) vrt))
  9. (setq old (getvar 'osmode)
  10.      new (setvar 'osmode 0))
  11. (vl-cmdf "_.pline" p1 "_w" 0 0 p3 p4 "_c" )
  12. (vl-cmdf "_.-hatch" "_s" (entlast) "" "_p" "_solid" "" "")
  13. (setvar 'osmode old)
  14. (princ))

 
塔瓦特
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:26:31 | 显示全部楼层
请参阅修订。。。
 
  1. (defun c:arrow (/ p1 Len Alen p2 p3)
  2. (if (and (setq p1 (getpoint "\nSpecify Start point of Arrow:"))
  3.           (setq p2 (getpoint p1 "\nSpecify End point of Arrow:"))
  4.      )
  5.    (progn
  6.      (setq dist      (distance p1 p2)
  7.            vrt       (/ dist 3)
  8.            pickAngle (angle p1 p2)
  9.            p3        (polar p2 (+ pickAngle (/ pi 2)) vrt)
  10.            p4        (polar p2 (- pickAngle (/ pi 2)) vrt)
  11.      )
  12.      (vl-cmdf "_.pline" "_non" p1 "_w" 0 0 "_non" p3 "_non" p4 "_c")
  13.      (vl-cmdf "_.-hatch" "_s" (entlast) "" "_p" "_solid" "")
  14.    )
  15. )
  16. (princ)
  17. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 11:28:52 | 显示全部楼层
非常强壮,速度更快。当然。
没有评论。
 
是什么让它在执行常规方面如此强大?
它是IF函数吗?
 
 
谢谢
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:33:12 | 显示全部楼层
 
请参阅注释。。。
 
  1. (defun c:arrow (/ p1 Len Alen p2 p3)
  2. (if (and (setq p1 (getpoint "\nSpecify Start point of Arrow:")) ; notice these are broken up to avoid error if the first is not defined, etc.
  3.           (setq p2 (getpoint p1 "\nSpecify End point of Arrow:")) ; only if these two variables are filled, will the routine continue
  4.      )
  5.    (progn
  6.      (setq dist      (distance p1 p2)
  7.            vrt       (/ dist 3)
  8.            pickAngle (angle p1 p2)
  9.            p3        (polar p2 (+ pickAngle (/ pi 2)) vrt)
  10.            p4        (polar p2 (- pickAngle (/ pi 2)) vrt)
  11.      )
  12.      (vl-cmdf "_.pline" "_non" p1 "_w" 0 0 "_non" p3 "_non" p4 "_c") ; if you add "_non" before defining a point in any command, it will ignore any running OSnaps. Thus, you don't have to worry with osmode
  13.      (vl-cmdf "_.-hatch" "_s" (entlast) "" "_p" "_solid" "")
  14.    )
  15. )
  16. (princ)
  17. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 11:34:06 | 显示全部楼层
我说不出话来。
你很好地说服了我。
 
谢谢Alan
 
我的问候
 
塔瓦特
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 11:38:50 | 显示全部楼层
欢迎你,Michaels,很高兴你觉得这很有帮助
回复

使用道具 举报

5

主题

194

帖子

193

银币

初来乍到

Rank: 1

铜币
24
发表于 2022-7-6 11:43:13 | 显示全部楼层
 
没问题,欢迎你tharwat313
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:45:20 | 显示全部楼层
享受
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 16:58 , Processed in 0.485954 second(s), 70 queries .

© 2020-2025 乐筑天下

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