SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 924|回复: 4
打印 上一主题 下一主题

请教.lsp文件中代码的意思和作用

  [复制链接]

2

主题

30

帖子

192

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
334
QQ
楼主
发表于 2022-8-19 11:17:17 | 显示全部楼层
DIESEL(DirectInterpretivelyEvaluatedStringExpressionLanguage)是指“直接解释求值的字符串表达式语言”。使用的DIESEL可以控制AutoCAD系统变量MODEMACRO的值,也可用来编写菜单宏,但只能用来处理字符串。
DIESEL的宏表达式格式如下:
$(字符串函数名,函数参数1,函数参数2…)
其中,根据函数的不同,函数参数的个数可以为零或者多个,但最多为9个。在宏表达式的不同元素之间,不可以有任何空格。所有的宏表达式都必须以“$”符号开头。
可以在DIESEL中使用的函数如表35-1所示。
表35-1DIESEL函数一览表

函数名

格式

说明

$( ,val1,val2,…)

返回字符串为全部数字之和



$(-,val1,val2,…)

返回字符串为val1减去其他所有数字之差

*

$(*,val1,val2,…)

返回字符串为全部数字之积

/

$(/,val1,val2,…)

返回字符串为val1除以其他所有数字之商

=

$(=,val1,val2)

如果两个数字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小于等于数字val2,则返回字符串为1,否则为0

>=

$(>=,val1,val2)

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

and

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

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

angtos

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

按指定的格式和精度返回角度值(注1)

表35-1DIESEL函数一览表

edtime

$(edtime,time,picture)

返回基于指定图片的格式化的日期和时间(注2)

eq

$(eq,str1,str2)

如果两个字符串str1和str2相同,则字符串返回1;否则返回0

eval

$(eval,str)

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

fix

$(fix,value)

返回一个实数数字的整数部分

getenv

$(getenv,varname)

返回环境变量varname的当前值;对于未定义的环境变量,则返回空字符串

getvar

$(getvar,varname)

返回系统变量varname的值

if

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

如果expr非零,则计算并返回dotrue的值;否则,计算并返回dofalse的值

index

$(index,which,string)

返回由which选定的、以逗号分隔的字符串中指定的成员,其中第一项编号为0

linelen

$(linelen)

返回用户所能见到的最长状态栏的字符长度。

nth

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

计算并返回由which选定的参数的值,其中第一项编号为0

or

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

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

rtos

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

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

strlen

返回字符串的字符长度

substr

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

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

字符串中的字符从1开始编号;如果length被省略,则返回从字符start开始、到string末尾为止的子串

upper

$(upper,string)

返回字符串string的大写

xor

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

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

注1该函数根据参数“mode”和“precision”指定的格式,给定的参数“value”作为角度值进行编辑,如果参数“mode”和“precision”被省略,则使用由“unites”命令指定的当前值。参数“mode”的取值及其含义见表35-2。
表35-2“mode”的取值及其含义

Mode值

字符串格式

0


1
度/分/秒

2
百分度

3
弧度

4
勘测单位

注2该函数返回基于指定图片的格式化的日期和时间。
其中,“time”参数为给定的AutoCAD日期,通常使用函数“$(getvar,date)”来获取;
“picture”参数由日期和时间的特定表示法替代的格式短语组成。格式短语的定义如表35-3所示。所有不能解释为格式短语的字符将被完整地复制到函数返回结果中。
表35-3“edtime”函数格式短语定义

格式

输出示例

格式

输出示例

D

9

H

5

DD

09

HH

05

DDD

Tue

MM

47

DDDD

Tuesday

SS

17

^M

6

MSEC

506

MO

06

AM/PM

AM

MON

Jun

am/pm

pm

MONTH

June

A/P

P

YY

01

a/p

p

YYYY

2001

例如以如下格式使用该函数:下例使用上表中的日期和时间。
$(edtime,$(getvar,date),DDD”,”DDMONYYYY-H:MMam/pm)
它可能的返回结果为:
Tue,9Jun2001-5:47pm
注意“picture”参数中逗号必须放在引号中,否则它将被当作参数分隔符。
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2024-6-10 20:22 , Processed in 0.123499 second(s), 32 queries .

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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