乐筑天下

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

[综合讨论] 用于计算两个线性参数的柴油表达式

[复制链接]

28

主题

87

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
167
发表于 2015-10-1 21:46:21 | 显示全部楼层 |阅读模式
我正在寻找使用柴油表达式来评估线性参数并显示两个参数中较大的一个...
我所能想出的就是这个,我确信是错误的...
$(
, $(>, 距离1,距离2))
任何指针都将不胜感激

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

38

主题

1350

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1502
发表于 2015-10-2 09:45:36 | 显示全部楼层
有趣的是,到底需要什么样的最终状态
也许可以通过其他方式进行此“评估”?
回复

使用道具 举报

51

主题

613

帖子

9

银币

中流砥柱

Rank: 25

铜币
815
发表于 2015-10-2 10:15:33 | 显示全部楼层

它不起作用吗?
回复

使用道具 举报

51

主题

613

帖子

9

银币

中流砥柱

Rank: 25

铜币
815
发表于 2015-10-2 10:31:37 | 显示全部楼层
据我所知,您不能将字段表达式嵌套在DIESEL表达式中,因此,除非您将线性参数的值分配给用户系统变量,否则您将无法从DIESEL表达式中引用这些值。
另一种方法是使用公式字段(AcExr),但是,它们不支持条件并且没有最小/最大公式函数。
回复

使用道具 举报

28

主题

87

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
167
发表于 2015-10-2 10:49:55 | 显示全部楼层
BricsCAD在这方面和AutoCAD有区别吗?
回复

使用道具 举报

38

主题

1350

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1502
发表于 2015-10-2 10:53:11 | 显示全部楼层
我希望它在动态块上的attdef中工作...
最终结果是一个属性定义,显示两个值中较大的值
根据Lee Mac所说,不可能将字段值直接放入柴油表达式中
如果有人知道,另一个问题是您可以在柴油表达式中使用vlax来引入参数值吗?
还有一个问题是您可以使用lisp引用参数值,然后将lisp值显示在柴油表达式中吗?
Lee Mac还知道如何将系统变量值分配给字段值吗?
回复

使用道具 举报

28

主题

87

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
167
发表于 2015-10-2 11:47:52 | 显示全部楼层
我还是不明白你在找什么
也许图片会有帮助…
如果是距离值,为什么不使用不可见(可视状态)元素来获得该距离。。。
回复

使用道具 举报

28

主题

87

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
167
发表于 2015-10-2 12:34:29 | 显示全部楼层

  1. (defun get-or-make-Xrecord (/ anXrec)
  2. ;Defines mainDict
  3. (Setq mainDict (namedobjdict))
  4. ;Defines Entity LineOne
  5. ;Not Sure How To Do This Assuming Handent DictSearch and NentSel
  6. (Setq LineOne (...))
  7. ;Defines Entity LineTwo
  8. ;Not Sure How To Do This Assuming Handent DictSearch and NentSel
  9. (Setq LineTwo (...))
  10. ;Defines LongestLine
  11. (Setq longLine ((max ("LineOne" "LineTwo"))))
  12. (setq mainDict (namedobjdict))
  13.      (cond
  14.        ;;if "OUR_DICT" is now valid then look for "OUR_VARS" Xrecord
  15.        ((not (setq anXrec (dictsearch maindict "OUR_VARS")))
  16.         ;;if "OUR_VARS" was not found then create it
  17.         ;;NOT SURE HOW TO APPLY TEXT CHARACTERS
  18.         (setq anXrec (entmakex '((0 . "XRECORD")
  19.                                 (100 . "AcDbXrecord")
  20.                                 (7 . "Arial")
  21.                                 (8 . "A09--T-")
  22.                                 (40 . 2.0)
  23.                                 (? . ?))
  24.                      )
  25.         )
  26.         ;;if creation succeeded then add it to our dictionary
  27.         (if anXrec (setq anXrec (dictadd maindict "OUR_VARS" anXrec)))
  28.       )
  29.        ;;if it's already present then just return its entity name
  30.        (setq anXrec
  31.         (cdr (assoc -1 (dictsearch maindict "OUR_VARS")))
  32.        )
  33.      )
  34. )
  35. ;(defun c:subent ()
  36.   (while   
  37.      (setq Ent (entsel "\nPick an entity: "))
  38.      (print (strcat "Entity handle is: "
  39.           (cdr (assoc 5 (entget (car Ent))))))
  40.    )
  41.    (while   
  42.       (setq Ent (nentsel "\nPick an entity or subEntity: "))
  43.       (print (strcat "Entity or subEntity handle is:  "
  44.           (cdr (assoc 5 (entget (car Ent))))))
  45.    )
  46.   (prompt "\nDone.")
  47. (princ)
  48. )
  49. ;Returns Entity handle
  50. ;(handent "XXX") Returns entity name based on handle

我算出了sslength/getlength来确定lineone/linetwo。仍然不确定如何将这些信息作为实体变量输入到新创建的xrecord中...
我也不确定Max函数是否评估类...
非常感谢任何指示、参考资料或帮助
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 01:08 , Processed in 0.458251 second(s), 68 queries .

© 2020-2025 乐筑天下

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