明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2029|回复: 14

[LISP群(1)] 2013-06-21 明经 AutoLISP 编程(102918348) 群聊记录:国足进世界杯唯一途径: 第一步:通过运作,让国际足联分配一个名额给南极洲。

 关闭 [复制链接]
发表于 2013-6-21 09:25:52 | 显示全部楼层 |阅读模式
[蔡__洛]不快乐 09:25:52
国足进世界杯唯一途径:
第一步:通过运作,让国际足联分配一个名额给南极洲。
第二步:让中国队加入南极洲赛区。
第三步:由中国队和企鹅争夺出线权。
第四步:国足客场逼平企鹅。
第五步:主场安排在三亚,热死企鹅后出线。
目前来看,第四步还有困难。
[VBALISPER]恐龙 09:26:44
 楼主| 发表于 2013-6-21 10:24:57 | 显示全部楼层
[aeromodelling]纸飞 10:24:57
entnext对嵌套块不起作用
[328302216][328302216]小莫 10:27:29
怎么判断字符串里面是否含有指定的字符?
忘记了
[328302216][328302216]小莫 10:35:47
用wcmatch能不能判断得出字符串里面是否含有指定的字符?如:“灰社会”  我要怎么判断 里面是否有字符串“黑”
[pzweng]路人 10:36:23
[328302216][328302216]小莫 10:36:49
用那个格式?
[328302216][328302216]小莫 10:37:35
*  星号?
[328302216][328302216]小莫 10:46:35
第一次用这个函数,我先慢慢研究一下 
[AMKYUD][AMKYUD]??? 10:47:23
中文字符也可以?
[198526]DZ 10:50:23
试试就知道
[LC100]建筑设计 10:52:09
请点取文字或 [设置(S)]:
这种怎么做到的。
[LC100]建筑设计 10:52:47
又可以先文字   又可以输入S设置
[VBALISPER]恐龙 10:53:20
不就是IF吗
[LC100]建筑设计 10:53:24
大概知道了
[328302216][328302216]小莫 10:57:50
(setq aa(wcmatch "黑色中国" "*`黑色*"))
T   
[LC100]建筑设计 10:59:43
又可以同时操作其它的哦。
[198526]DZ 10:59:48
(initget [bits] [string])

功能及参数

    此函数可让下一个 getxxx 函数 (除了 getstring 及getvar 之外) 有不同的选择。initget 永远返回 nil 。可选用的 bit 参数为具有下列数值的整型数:

 

位  值
 意        义
 
1(位0)
 阻止用户仅经过按下  Enter  键来回应要求
 
2(位1)
 阻止用户仅经过键入 0 值来回应要求
 
4(位2)
 阻止用户仅通过键入负值来回应要求
 
8(位3)
 允许用户在目前绘图界限外键入一点。这条件将应用到下一个用户输入函数 (即使 AutoCAD 的系统变量LIMCHECK 已设定)
 
16(位4)
 (目前不被使用)
 
32(位5)
 当这些函数允许用户指定一点时, 导致橡皮筋(rubber band) 显示窗口时使用虚线(有些屏幕则以其他颜色来取代虚线)。如果系统变量POPUPS为零, 则表示显示器驱动程序并没有支持高级用户界面, 那么AutoCAD将会忽略此位
 
64(位6)
 只会对 getdist 函数有所影响。它会通知 getdist 忽略所提供点的 Z 坐标, 所以只会计算和返回一个 2D 的距离
 
128(位7)
 如果它是一个关键字便允许任意的输入, 第一个将影响任何其他的控制位与列出关键字。这个位将比位0为优先, 如果位7被设定且用户按下  Enter  

键, 则一空字符串将被返回
 

 

这些位标志项可以任何方式相加组合而形成 0 至 127 之间的值。AutoLISP将来的版本可能会利用到其他的initget控制位, 所以请您避免去设定手册中未提到的位。特殊的控制值仅经过 getxxx 函数使其有意义。如下所示:

 

函数
 INITGET 控制位的影响
 
关键字
 非空白(1)
 非零(2)
 非负值(4)
 无界限(8)
 使用虚线(32)
 2D距离(64)
 任意输入(128)
 
getint
 ●
 ●
 ●
 ●
  
  
 ●
  
 
getreal
 ●
 ●
 ●
 ●
  
  
 ●
  
 
getdist
 ●
 ●
 ●
 ●
  
 ●
 ●
 ●
 
getangle
 ●
 ●
 ●
  
 ●
  
 ●
  
 
getorient
 ●
 ●
 ●
  
 ●
  
 ●
  
 
getpoint
 ●
 ●
  
 ●
 ●
  
  
 ●
 
getcorner
 ●
 ●
  
 ●
 ●
  
  
 ●
 
getkword
 式)。如果用户输入符合一在此表中的关键字, 那么函数将返回关键字来当做一字符串结果。用户程序将测试关键字并执行每一个所描述的动作。如果用户输入并不符合关键字, 那么AutoCAD将要求用户再试一次。

    string 参数将根据下述原则来解析:

    ◎ 每一个关键字将经过一个或一个以上的空格来分离。

    例如:“Width Height Depth”将定义三个关键字。

    ◎每一个关键字将可使用 AutoCAD 可识别的缩写。缩写可用两种方式来设定:

    ① 关键字需要的部分可用大写来表示, 而其他则全为小写(如:“Ltype”,“eXit”或“toP”)。

    ② 整个关键字都以大写来表示, 并随后跟随逗号, 再将需要的部分重复地写上。例如:“LTYPE, LT”。在这种情况下, 后面的缩写必须重复第一个字符。所以, “EXIT, X”是无效的。

    第二种方式是为了用于大小写变换不易或根本不可能的外国语言上。

    上述两个简单的范例, “Ltype”与“LTYPE, LT”效果是相同的。所以仅键入LT (无论大写或小写)都会被接受。用户可以在关键字需要的部分后键入字符, 以提供一并不与指定相冲突的方式。例如:用户可以键入LTY或LTYP来作一关键字, 但仅键入L就是不够的, 所以对 LTSCALE或 LTYPEX 这类的关键字, 就不是键入一个或两个缩写字即可分辨的。如果 string 整个以大写或小写字符 (且无逗号后跟着需要的部分) 显示关键字, 那么如果用户键入完整字符, Auto CAD 将仅辨识关键字。

    【注意】由 initget 所建立的控制标志及关键字表皆会应用到跟随其后的 entsel , nentsel, nentselp或getxxx调用, 接着便自动抛弃。这样可避免需再调用其他函数来清除此特定状况。


 ●
  
  
  
  
  
  
 
entsel
 ●
  
  
  
  
  
  
  
 
nentsel
 ●
  
  
  
  
  
  
  
 

 

    如果 initget 设定了一个控制位以及应用程序调用一个对位值而言无意义的用户输入函数, 那么此位将被忽略。这些位将可以在 0 - 255 之间以任何组合来加入。如果无 bits 参数, 那么一零值将被设定。如果用户键入的值既不是我们所要求的形式也不符合任何关键字, 那么AutoCAD 将会要求用户再试一次。

    关键字指定:可选择的string参数将定义可选择关键字的表以检查经由下一个entsel, nentsel, nentselp或getxxx函数的要求(如果用户并未键入期望的输入形
無奈オ浪迹 11:07:13
同一个坐标的圆圈和点,如何把圆圈的数字图层名赋到点的厚度值里面
 楼主| 发表于 2013-6-21 11:19:04 | 显示全部楼层
[stoyer][stoyer] 11:19:04
[qqimg]oldimg/{480B91E0-7A63-1FE2-E8CC-49CDBA8A9118}.jpg[/qqimg]
[flytoday]过^-^客 11:25:33
[qqimg]oldimg/{38FEC8A7-3D23-7752-C7A0-268A24E3EA57}.gif[/qqimg]
 楼主| 发表于 2013-6-21 11:44:28 | 显示全部楼层
[tiyi8888]永远痛 11:44:28
屁股吗
还是上面的
[fsxm]飞诗 11:50:10
Lisp变量混淆工具 beta 0.1
http://fsxm.mjtd.com/Obfuscated.htm
 楼主| 发表于 2013-6-21 12:33:21 | 显示全部楼层
笑对人生 12:33:21
呵呵,真有福利呀
[water_system][mingdi]shenshen 12:34:09
vLISP看什么书
笑对人生 12:36:07
飞诗Lisp变量混淆工具 beta 0.1怎么出来是这样的界面呀
[qqimg]oldimg/{61B26AC1-6449-42FE-6C50-997D8EAD5EA9}.jpg[/qqimg]
[water_system][mingdi]shenshen 12:37:31
这个做什么用
 楼主| 发表于 2013-6-21 12:48:34 | 显示全部楼层
[AMKYUD][AMKYUD]??? 12:48:34
加密用的吗?
 楼主| 发表于 2013-6-21 13:21:39 | 显示全部楼层
[fsxm]飞诗 13:21:39
[qqimg]oldimg/{4E77B2FB-F4F2-D9BF-EE9B-7E9B24EDD869}.gif[/qqimg]用chrome显示正常
笑对人生 13:29:12
呵呵,看见飞诗不容易呀
[fsxm]飞诗 13:36:00
[qqimg]oldimg/{BF1F6B88-DD1B-6463-98C1-0A95F0D0D8A0}.gif[/qqimg]
[tiyi8888]永远痛 13:37:18
一辆货开车捡起交警偷放在树后的流动测速摄像头,放在车上拉走了。 警车紧追其后,开了一个多小时,那货带着摄像头进了交警队:“大哥,您看看这玩意是你们的不?我在路边捡的!”
 楼主| 发表于 2013-6-21 13:48:05 | 显示全部楼层
[【KAIXIN】] [【KAIXIN】]炫翔 13:48:05
[qqimg]oldimg/{99ADC512-3FDA-C8E4-D195-6CA7FBDCFA53}.jpg[/qqimg]作用是?
[fsxm]飞诗 13:48:29
飞诗Lisp变量混淆工具 beta 0.1
http://fsxm.mjtd.com/Obfuscated.htm
现在ie显示正常了
[mmh1]漫步地球 13:49:41
犀利
[【KAIXIN】] [【KAIXIN】]炫翔 13:49:56
换了左边的代码怎么不行了
[【KAIXIN】] [【KAIXIN】]炫翔 13:50:34
[qqimg]oldimg/{234BEC94-C8A5-C753-C700-43F218CD10D1}.jpg[/qqimg]
飞诗兄,需要用你的函数名才行?
[【KAIXIN】] [【KAIXIN】]炫翔 13:51:46
测试下
[fsxm]飞诗 13:52:26
只混淆局部变量
[kwok][kwok]巭隼 13:52:29
要再优化一下,把中文也变了,但程序加载运行得却能显示正确中文,
[fsxm]飞诗 13:52:45
中文可以混淆成英文的
前提是局部变量
[【KAIXIN】] [【KAIXIN】]炫翔 13:53:21
再试试
[lisp](car (entsel)) 13:54:30
已知点p1的坐标,p2距离p1的距离是h,旋转角是a(极坐标),那么如何得到p2的坐标呢?
[【KAIXIN】] [【KAIXIN】]炫翔 13:55:12
测试OK
看来用中文的变量更安全
[kwok][kwok]巭隼 13:55:38
p2=p1的角度+距离
[【KAIXIN】] [【KAIXIN】]炫翔 13:55:43
我试试一些符号
[xiaomm250][lisp](car (entsel)) 13:56:42
假设p2距离p1是500,角度是pi/4,那么应该如何写呢?
[kwok][kwok]巭隼 13:57:34
p2(polar p1 (/ pi 4) 500)
[xiaomm250][lisp](car (entsel)) 13:57:51
好了,谢谢大哥
[【KAIXIN】] [【KAIXIN】]炫翔 13:58:48
[qqimg]oldimg/{A877554A-9618-E2D7-9850-B4D2A5CA502A}.jpg[/qqimg]
每次执行的变量都不一样
[【KAIXIN】] [【KAIXIN】]炫翔 14:00:09
变量名 这么长,会不会影响执行的速度
[fsxm]飞诗 14:09:12
变量名没影响的
 楼主| 发表于 2013-6-21 14:19:56 | 显示全部楼层
[xiaomm250][lisp](car (entsel)) 14:19:56
已知p1 p2 如何求得p1与p2的中点p3?尽可能用简单的办法
[kwok][kwok]巭隼 14:21:51
p3 (* (distance p1 p2) 0.5)
[xiaomm250][lisp](car (entsel)) 14:22:30
这个似乎不对呀?
[xiaomm250][lisp](car (entsel)) 14:23:03
这个似乎求的是距离的一半
[kwok][kwok]巭隼 14:23:28
一半不就是中点
[xiaomm250][lisp](car (entsel)) 14:23:48
我要的是中点坐标呀
你就得的是距离
[kwok][kwok]巭隼 14:26:13
跟上面那个求点结合一下就是了
[xiaomm250][lisp](car (entsel)) 14:26:37
算了,我自己写了一个子函数
[xiaomm250][lisp](car (entsel)) 14:32:37
笑对人生 14:35:40
呵呵,是很好
[xiaomm250][lisp](car (entsel)) 14:38:13
文本在什么情况下没有组码11呢?
[xiaomm250][lisp](car (entsel)) 14:47:12
如何用lisp获得一个文本的长度呢?文本的高度是文本的组码40,但是长度呢?
[ygp820601]风声 14:49:08
有个命令,好像是textbox
 楼主| 发表于 2013-6-21 15:08:36 | 显示全部楼层
[hhbhyt] 15:08:36
[qqimg]oldimg/{E36059D9-ADD3-F0FF-A244-6C39CBAEEE58}.jpg[/qqimg]当前视口的名称的系统变量是哪个?请大侠指教
[xiaomm250][lisp](car (entsel)) 15:12:06
如何用lisp产生等差序列呢?比如产生(3,5,7,9,11,13,15,17,19)?
[caoyin][caoyin] 15:13:24
ctab
[hhbhyt] 15:14:58
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 09:32 , Processed in 0.179648 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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