乐筑天下

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

[编程交流] 我需要反转级别Lisp plese

[复制链接]

16

主题

50

帖子

34

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 06:12:03 | 显示全部楼层 |阅读模式
反转标高:-
(输入First IL–输入Second IL/输入距离*输入新IL的距离)±输入Invert Level First或Second。
第一个IL=657.922第二个IL=657.672距离=50
(657.922-657.672/50)*25
=(0.25/50)*25
=0.005*25 = 0.125
=0.125+657.547 = 657.672
回复

使用道具 举报

44

主题

542

帖子

502

银币

后起之秀

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

铜币
220
发表于 2022-7-6 06:21:41 | 显示全部楼层
你可能需要提供更多的细节,你有什么很难遵循。
回复

使用道具 举报

16

主题

50

帖子

34

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 06:31:21 | 显示全部楼层
071207hg1xgeazyga8jfgg.jpg
检查这个jpg,我只有一个级别,所以计算这个任何lisp,请建议我
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 06:37:07 | 显示全部楼层
最好的方法是在准确的位置绘制人孔,然后输入坡度或上升/下降,这样可以得出正确的答案。
 
拾取第一个人孔并输入反转和坡度,拾取下一个人孔,反转标签将根据两点的某些规则重新角度显示。
 
这是你想要的吗?
回复

使用道具 举报

16

主题

50

帖子

34

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 06:43:04 | 显示全部楼层
我正在寻找lisp选择两个级别计算,然后我选择一个点,然后给出值
 
示例参见jpeg首先我知道两点,一个是657.547,另一个是657.922
回复

使用道具 举报

16

主题

50

帖子

34

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 06:48:40 | 显示全部楼层
对不起,我的英语很差
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:54:19 | 显示全部楼层
您的dwg具有Z值?
是否要选择文字或点图元?
在您的图像中,点和文本是两个独立的实体还是一个块?
你打算总是直线计算还是曲线计算?
 
有太多的问题,最好的办法来管理获得帮助,是帮助我们,附上一个样本图纸与你有什么和你打算得到什么。。。
 
亨里克
回复

使用道具 举报

16

主题

50

帖子

34

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:01:41 | 显示全部楼层
仅X,Y
无块仅选择文本,然后选择下一个距离点,然后给出值
(对不起,我的英语很差对不起)
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:09:53 | 显示全部楼层
 
一个快速而肮脏的,只在WCS中工作。。。试试看。。。
 
  1. (defun c:test (/ PT1 PT1Z PT2 PT2Z PT3 PT3Z S1 S2 TX1 TX2)
  2. (if (and (not (Prompt "\nSelect first reference TEXT: "))
  3.    (setq s1 (ssget "+.:L:S" '((0 . "TEXT"))))
  4.    (not (Prompt "\nSelect second reference TEXT: "))
  5.    (setq s2 (ssget "+.:L:S" '((0 . "TEXT"))))
  6.    (setq pt3 (getpoint "\nPick point to calculate elevation: "))
  7.      );; and
  8.    (progn
  9.      (setq tx1  (entget (ssname s1 0))
  10.     pt1  (cdr (assoc 11 tx1))
  11.     pt1z (atof (cdr (assoc 1 tx1)))
  12.     tx2  (entget (ssname s2 0))
  13.     pt2  (cdr (assoc 11 tx2))
  14.     pt2z (atof (cdr (assoc 1 tx2)))
  15.     pt3z (+ (/ (* (distance pt1 pt3) (- pt2z pt1z)) (distance pt1 pt2)) pt1z)
  16.      );; setq
  17.      (entmake (list
  18.   '(0 . "TEXT")
  19.   '(100 . "AcDbEntity")
  20.   (assoc 8 tx1)
  21.   '(100 . "AcDbText")
  22.   '(10 0.0 0.0 0.0)
  23.   (assoc 40 tx1)
  24.   (cons 1 (rtos pt3z))
  25.   '(50 . 0.0)
  26.   '(41 . 1.0)
  27.   '(51 . 0.0)
  28.   (assoc 7 tx1)
  29.   '(71 . 0)
  30.   '(72 . 2)
  31.   (cons 11 pt3)
  32.   '(210 0.0 0.0 1.0)
  33.   '(73 . 1)
  34.        );; list
  35.      );; entmake
  36.    );; progn
  37. );; if
  38. );; test

 
亨里克
回复

使用道具 举报

16

主题

50

帖子

34

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:12:34 | 显示全部楼层
谢谢你hmsilva
看这个lisp计算级别这没问题,但我需要相同的公式,但我选择了需要计算的点粘贴插入文本继续这个lisp只给出一个时间提示窗口
我想单击下一个距离点,然后继续单击,然后给出值单击,然后给出值
 
 
 
 
 
  1. ;;; Calculate grade of unknown point
  2. ;;;
  3. (defun c:GRADE (/ #Dist #Elev #Grade #NewElev)
  4. (cond
  5.    ((and (setq #Dist (getdist "\nDistance: "))
  6.          (setq #Elev (getreal "\nElevation of known point: "))
  7.          (setq #Grade (getreal "\nPercent grade (eg: 0.25 for 0.25%): "))
  8.     ) ;_ and
  9.     (setq #NewElev (strcat "\nElevation: "
  10.                            (rtos (+ (* #Dist (/ #Grade 100)) #Elev) 2 3)
  11.                    ) ;_ strcat
  12.     ) ;_ setq
  13.     (princ #NewElev)
  14.     (alert #NewElev)
  15.    )
  16. ) ;_ cond
  17. (princ)
  18. ) ;_ defun
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:57 , Processed in 1.362302 second(s), 74 queries .

© 2020-2025 乐筑天下

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