乐筑天下

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

[编程交流] 柱脚的最后一个角度

[复制链接]

11

主题

36

帖子

25

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 09:38:50 | 显示全部楼层 |阅读模式
我在网上找到了这个代码,不知道出了什么问题。
我需要找到最后一个角度,这样我就可以在最后一个角度的方向上插入一个块到最后一个点。非常感谢您的帮助。
 
 
(DEFUN C:FPOLE(/ent sub1 ptlist pt1 pt2 ang)
 
(命令“pLINE”)
(while(=1(getvar“cmdactive”))
(命令暂停)
)
(SETQ ENT(CAR(ENTLAST)))
(SETQ SUB1(ENTNEXT ENT))
(SETQ PTLIST NIL)
(当SUB1
(IF(=(CDR(aSSOC 0(ENTGET SUB1)))“顶点”)
(SETQ PTLIST(追加PTLIST(列表
(CDR(aSSOC 10(ENTGET SUB1 kаааа)а)
)
(SETQ SUB1(ENTNEXT SUB1))
)
(SETQ PT1(CADR(反向PTLIST)))
(SETQ PT2(最后一个PTLIST))
(SETQ ANG1(角度PT1 PT2))
(SETQ ANG2(RTOS(*180.0(/ANG1 pi)))2 4)
 
(COMAND“INSERT”“FLAG”“1”“1”ANG2)
)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:59:11 | 显示全部楼层
最后一个“command”函数只有一个“m”,Insert命令没有指定插入点。
 
然而,我倾向于在这项任务中使用曲线函数,因为代码将适用于圆弧、圆、直线、多段线、LW多段线、椭圆、样条曲线等。
 
  1. (defun c:test ( / a e p ) (vl-load-com)
  2. (if
  3.    (and (setq e (car (entsel)))
  4.      (not
  5.        (vl-catch-all-error-p
  6.          (setq p
  7.            (vl-catch-all-apply 'vlax-curve-getEndParam (list e))
  8.          )
  9.        )
  10.      )
  11.      (setq a (* 180. (/ (angle '(0. 0. 0.) (vlax-curve-getFirstDeriv e p)) pi)))
  12.    )
  13.    (command "_.-insert" "flag" "_non" (trans (vlax-curve-getPointatParam e p) 0 1) "1" "1" a)
  14. )
  15. (princ)
  16. )

 
注意,没有检查“flag”块的存在。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:18:30 | 显示全部楼层
哦,顺便说一句,请阅读这篇关于邮寄代码的文章。
回复

使用道具 举报

11

主题

36

帖子

25

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 10:38:14 | 显示全部楼层
谢谢李!你是最好的。你总是激励我说,Lisp程序是多么简单,但在一个简单的头脑里却太复杂了。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:47:39 | 显示全部楼层
谢谢Shakuhachi
 
我很高兴能为我的帖子提供一些灵感
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:30 , Processed in 0.521415 second(s), 62 queries .

© 2020-2025 乐筑天下

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