乐筑天下

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

[编程交流] 坡度例行程序

[复制链接]

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:35:41 | 显示全部楼层
谢谢你的快速回复,是#8
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:38:47 | 显示全部楼层
 
这里是四位小数。。
 
 
  1. (defun c:TanLine (/ doc spc *error* TH:UnDo TH:StartUnDo p1 p2 p3 tan2 TL-Line TH:UnDo)
  2. ;;; Authour : Hasan Asos    -> Modified by Tharwat
  3. (vl-load-com)
  4. (and (setq doc (cond (doc) ((vla-get-ActiveDocument (vlax-get-Acad-Object)))))
  5.       (setq spc (if (zerop (vla-get-activespace doc))
  6.              (if (= (vla-get-mspace doc) :vlax-true) (vla-get-modelspace doc) (vla-get-paperspace doc))
  7.              (vla-get-modelspace doc)))
  8.    )
  9. (defun *error* (msg)
  10. (and TH:UnDo (vla-EndUndoMark doc))
  11. (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  12.      (princ (strcat "\n** Error: " msg " **")))
  13. (princ)
  14. )
  15. (setq TH:StartUnDo (vla-StartUndoMark doc))
  16. (initget "Line Points")
  17. (if (eq (setq TL-sel (getkword (strcat "\nChoose [Line/Points]: " "< Line >"))) "Points")
  18.    (progn
  19.           (setq p1 (getpoint "\n First Point  "))
  20.           (setq p2 (getpoint p1 "\n Second Point "))
  21.           (setq p3 (getpoint "\n Text insertion Point "))
  22.           (setq tan2 (/ (- (cadr p2) (cadr p1)) (- (car p2) (car p1))))
  23.           (entmake (list (cons 0 "LINE")(cons 10 (trans p1 1 0))(cons 11 (trans p2 1 0))))
  24.           (entmake (list (cons 0 "TEXT")(cons 10 (trans p3 1 0)) (cons 40 (getvar 'textsize))
  25.           (cons 1 (strcat (rtos (abs (* tan2 100)) 2 4) "%"))))
  26.      )
  27.    (progn
  28.      (prompt "\n please Select Line : ")
  29.      (setq TL-Line (ssget '((0 . "LINE"))))
  30.      (setq e (ssname TL-Line 0))
  31.      (setq p1 (cdr (assoc 10 (entget e))))
  32.      (setq p2 (cdr (assoc 11 (entget e))))
  33.      (setq p3 (getpoint "\nText insertion Point "))
  34.      (setq tan2 (/ (- (cadr p2) (cadr p1)) (- (car p2) (car p1))))
  35.      (entmake (list (cons 0 "TEXT")(cons 10 (trans p3 1 0)) (cons 40 (getvar 'textsize))
  36.               (cons 1 (strcat (rtos (abs (* tan2 100)) 2 4) "%"))))
  37.      )
  38.    )
  39. (setq TH:UnDo (vla-EndUndoMark Doc))
  40. (princ "\n Modified by Tharwat")
  41. (princ)
  42. )
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:41:11 | 显示全部楼层
非常感谢
回复

使用道具 举报

44

主题

542

帖子

502

银币

后起之秀

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

铜币
220
发表于 2022-7-6 00:43:50 | 显示全部楼层
事实上,即使使用gps机器控制技术,也没有承包商能够将现场等级定为4D.p.精度。
回复

使用道具 举报

22

主题

326

帖子

185

银币

后起之秀

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

铜币
243
发表于 2022-7-6 00:48:05 | 显示全部楼层
@Tharwat:如果直线或两点是相同的x ^^^(可能是90度斜率或100%^^),则不会捕捉到被零除的错误
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:49:07 | 显示全部楼层
 
你说得对,我刚刚为作者修改了代码,使其只起作用,而不考虑代码本身。当athabe要求我修改十进制数时,我刚刚为他更正了。
 
所以我没有权利玩代码。
 
非常感谢。
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-6 00:54:19 | 显示全部楼层
 
你能把文字样式改成wgsimpl吗。shx公司
 
我试图在你的代码中添加这个命令,但我做错了什么
 
  1. (command "style" "TanLine" "wgsimpl.shx" "" "" "" "" "")
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-6 00:56:57 | 显示全部楼层
prodromosm尝试以下操作:-
 
 
  1. 5
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-6 00:58:41 | 显示全部楼层
谢谢satishrajdev
我用这个
  1. 6

工作很好
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-6 01:04:24 | 显示全部楼层
你的欢迎
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:28 , Processed in 0.395053 second(s), 70 queries .

© 2020-2025 乐筑天下

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