CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

DIESEL 函数参考

2023-1-9 00:50| 发布者: admin| 查看: 629| 评论: 0|来自: AutoCAD

状态的检索、计算和显示均由 DIESEL 函数执行。

所有的函数最多只能包含 10 个参数,包括函数名本身。

函数 说明/样例
+(加)

返回数字 val1 val2 、…、 val9 的和。

$(+, val1 [, val2, …, val9])

如果当前厚度被设定为 5,则以下 DIESEL 字符串返回 15。

$(+, $(getvar, thickness), 10)
-(减)

返回从数字 val1 中减去 val2 val9 的结果。

$(-, val1 [, val2 , …, val9])
*(乘)

返回数字 val1 val2 、…、 val9 的积。

$(*, val1 [, val2, …, val9])
/(除)

返回数字 val1 除以 val2 、…、 val9 的结果。

$(/, val1 [, val2, …, val9])
=(等于)

如果数字 val1 val2 相等,则字符串返回 1;否则,返回 0。

$(=, val1, val2)
<(小于)

如果数字 val1 小于 val2 ,则字符串将返回 1;否则,返回 0。

$(<, val1, val2)

以下表达式用于获取 HPANG 的当前值;如果该值小于系统变量 USERR1 中存储的值,则将返回 1。如果 USERR1 中存储的值为 10.0 且 HPANG 的当前设置为 15.5,则以下字符串将返回 0。

$(<, $(getvar, hpang), $(getvar, userr1))
>(大于)

如果数字 val1 大于 val2 ,则字符串返回 1;否则,返回 0。

$(>, val1, val2)
!=(不等于)

如果数字 val1 val2 不相等,则字符串返回 1;否则,返回 0。

$(!=, val1, val2)
<=(小于或等于)

如果数字 val1 小于或等于 val2 ,则字符串返回 1;否则,返回 0。

$(<=, val1, val2)
>=(大于或等于)

如果数字 val1 大于或等于 val2 ,则字符串返回 1;否则,返回 0。

$(>=, val1, val2)
并且

返回整数 val1 val9 的按位逻辑与。

$(and, val1 [, val2,…, val9])
angtos

按指定的格式和精度返回角度值。

$(angtos, value [, mode, precision])

mode precision 指定的格式将给定的 value 作为角度值进行编辑,与类似的 AutoLISP 函数的定义一样。如果 mode precision 被省略,则使用由 UNITS 命令选择的当前值。

注: AutoLISP 在 AutoCAD LT 中不可用。
可应用以下 mode值:
  • 0,表示度
  • 1,表示度/分/秒
  • 2,表示百分度
  • 3,表示弧度
  • 4,表示勘测单位
Edtime

返回基于指定图片的格式化的日期和时间。

$(edtime, time, picture)

编辑由 time 指定的 Julian 日期(例如,根据给定的 picture $(getvar,date) 获取)。 picture 由被具体日期和时间代替的格式短语组成。不能解释为格式短语的字符被完整地复制到 $(edtime) 的结果中。格式短语的定义如下表所示。

例如,假定日期为 1998 年 9 月 5 日星期六,时间为 4:53:17.506,则 edtime 的相应格式短语和输出样例如下所示:
  • D - 5
  • DD - 05
  • DDD - Sat
  • DDDD - Saturday
  • M - 9
  • MO - 09
  • MON - Sep
  • MONTH - September
  • YY - 98
  • YYYY - 1998
  • H - 4
  • HH - 04
  • MM - 53
  • SS - 17
  • MSEC - 506
  • AM/PM - AM
  • am/pm - am
  • A/P - A
  • a/p - a

如上表所示,应该输入完整的 AM/PM 短语。如果仅使用 AM,则 A 将按字面复制而 M 将返回当前月份。

如果图片中出现任何 AM/PM 短语,则 HHH 短语将按 12 小时国内时钟 (12:00-12:59 1:00-11:59) 编辑时间,而不是按 24 小时时钟 (00:00-23:59) 编辑时间。

下面的样例使用上表中的日期和时间。请注意,由于逗号被读为参数分隔符,因此必须将它括在引号中。

$(edtime, $(getvar,date), DDD"," DD MON YYYY - H:MMam/pm)

该表达式返回以下结果:

Sat, 5 Sep 1998 - 4:53am

如果 time 为 0,则使用执行最外层宏时的时间和日期。这避免了对 $(getvar,date) 的冗长而费时的多次调用,并保证所有由多个 $(edtime) 宏组成的字符串都使用相同的时间。

eq

如果字符串 val1 val2 相同,则字符串返回 1;否则,返回 0。

$(eq, val1, val2)

以下表达式用于获取当前图层的名称;如果该名称与 USERS1 (USERS1-5) 系统变量中存储的字符串值相匹配,则将返回 1。假设字符串“PART12”存储在 USERS1 中,并且当前图层相同。

注: USERS1-5 系统变量在 AutoCAD LT 中不可用。
$(eq, $(getvar, users1), $(getvar, clayer))

该表达式返回以下结果:

1

Eval

将字符串 str 传给 DIESEL 计算器,并返回计算结果。

$(eval, str)
fix

通过舍弃小数部分,将实数数字 截断为整数。

$(fix, value)
Getenv

返回环境变量 varname 的值。

$(getenv, varname)

如果未定义具有该名称的变量,则返回空字符串。

Getvar

返回具有给定 varname 的系统变量的值。

$(getvar, varname)
if

根据条件计算表达式。

$(if, expr, dotrue [, dofalse])

如果 expr 为非零,则进行计算并返回 dotrue 。否则,进行计算并返回 dofalse 。请注意,不计算 expr 未选择的分支。

索引颜色

返回以逗号分隔的字符串中的指定成员。

$(index, which, string)

假定 string 参数包含一个或多个由宏参数分隔符字符(逗号)分隔的值。 which 参数选择这些值中的一个值进行提取,第一项编号为 0。此函数通常用于从 $(getvar) 返回的点坐标中提取 XYZ 坐标值。

使用此函数,应用程序可从 USERS1-5 系统变量中检索存储为以逗号分隔的字符串的值。

注: USERS1-5 系统变量在 AutoCAD LT 中不可用。
nth

计算并返回由 which 选定的参数。

$(nth, which, arg0 [, arg1,…, arg7])

如果 which 为 0,则 nth 返回 arg0 ,依此类推。请注意, $(nth) $(index) 之间的区别; $(nth) 将一系列参数中的一个返回给函数,而 $(index) 从作为单个参数传递的以逗号分隔的字符串中提取值。不计算 which 未选择的参数。

返回整数 val1 val9 的按位逻辑或。

$(or, val1 [, val2,…, val9])
Rtos

按指定的格式和精度返回实数值。

$(rtos, value [, mode, precision])

将给定的 作为实数进行编辑,按照下面两个变量指定的格式: mode precision。 如果省略 mode precision ,则使用由 UNITS 命令选择的当前值。

strlen

返回 string 的字符长度。

$(strlen, string)
Substr

返回 string 的子串,该子串从字符 start 开始,长度为 length

$(substr, string, start [, length])

字符串中的字符从 1 开始编号。如果省略 length ,则返回所有剩余字符串。

返回 string 按当前地区的规则转换为大写的结果。

$(upper, string)
xor

返回整数 val1 val9 的按位逻辑异或。

$(xor, val1 [, val2,…, val9])

路过

雷人

握手
1

鲜花

鸡蛋

刚表态过的朋友 (1 人)

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 14:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部