明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 423|回复: 4

[提问] 请问一下,这个求差时候为何算出来是相反的值?

[复制链接]
发表于 2023-10-27 12:14 | 显示全部楼层 |阅读模式

请问一下,这个求差时候为何算出来是相反的值?

比如22.5   11.5   求出来是-10,用11.5-22.5=10?
  1. (defun c:QH (/ en en_data i list1 lst ss txt_add)
  2.   (setq ss (ssget '((0 . "text")(1 . "~*[~--9]*"))))
  3.   (setq i 0)
  4.   (setq lst nil)
  5.   (repeat (sslength ss)
  6.     (setq en_data (entget (setq en (ssname ss i))))
  7.     (setq list1 (cdr (assoc 1 en_data)))
  8.     (setq lst (cons list1 lst))
  9.     (setq i (1+ i))
  10.   )
  11.   (setq txt_add (apply '+ (mapcar 'read lst)))
  12.       
  13.   (command "text" "non" pause "" "" (vl-princ-to-string txt_add) )
  14.   (prin1)
  15. )



  16. (defun c:QC (/ en en_data i list1 lst ss txt_add)
  17.   (setq ss (ssget '((0 . "text")(1 . "~*[~--9]*"))))
  18.   (setq i 0)
  19.   (setq lst nil)
  20.   (repeat (sslength ss)
  21.     (setq en_data (entget (setq en (ssname ss i))))
  22.     (setq list1 (cdr (assoc 1 en_data)))
  23.     (setq lst (cons list1 lst))
  24.     (setq -i (1+ i))
  25.   )
  26.   (setq txt_add (apply '- (mapcar  'read lst)))
  27.       
  28.   (command "text" "non" pause  "" "" (vl-princ-to-string txt_add) )
  29.   (prin1)
  30. )



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2023-10-27 12:36 | 显示全部楼层
若不对选择集进行排序 则默认后生成的图元在前 代码中cons 又将顺序导致 例 按文字生成顺序  11.5 22.5 选择集中顺序为 22.5 11.5 cons后又为  11.5 22.5 因此在相减时 就是按实际的图元生成顺序相减
发表于 2023-10-27 12:41 | 显示全部楼层
求和无所谓顺序,求差,这么批选,结果肯定是乱套的,根本也没法用吧
 楼主| 发表于 2023-10-27 14:13 | 显示全部楼层
xj6019 发表于 2023-10-27 12:41
求和无所谓顺序,求差,这么批选,结果肯定是乱套的,根本也没法用吧

啊哈,那咋整
 楼主| 发表于 2023-10-27 14:15 | 显示全部楼层
飞雪神光 发表于 2023-10-27 12:36
若不对选择集进行排序 则默认后生成的图元在前 代码中cons 又将顺序导致 例 按文字生成顺序  11.5 22.5 选 ...

谢谢,指教,我调试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-23 11:16 , Processed in 0.178749 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表