明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3024|回复: 21

[LISP群(1)] 2013-09-12 明经 AutoLISP 编程(102918348) 群聊记录:再请教一个问题,有没有往小的那个方向取整的函数,比如-2.5变成-3,2.5

 关闭 [复制链接]
发表于 2013-9-12 08:57:12 | 显示全部楼层 |阅读模式
[tryhi]大海 08:57:12
再请教一个问题,有没有往小的那个方向取整的函数,比如-2.5变成-3,2.5就变成2
[VBALISPER]恐龙 08:58:07
判断一下负数
[tryhi]大海 08:58:15
多谢
[pzweng][pzweng]路人 09:04:14
(if (< x 0)
 (fix (+ x -0.5))
  (fix x))
[tryhi]大海 09:04:42
[tryhi]大海 09:05:41
54+aa/4000*4


再请教一个问题,上面这条式子只能这样写吗?感觉好麻烦
(+ 54 (*(/ aa 4000) 4))
[OWEN7][qqou7]clever 09:05:59
路人,写一个
[qqimg]201309/{E2E49772-3CCB-E4E3-C8F1-25C3CEFEBE72}.jpg[/qqimg]
[pzweng][pzweng]路人 09:06:37
你把文字对齐方式改为相同
然后判断坐标值
相同的表示有重叠
[tryhi]大海 09:07:53
还要判断字高,字宽,计算出文字所占区域,两个区域存在重叠则判定
[tryhi]大海 09:08:41
54+aa/4000*4


再请教一个问题,上面这条式子只能这样写吗?感觉好麻烦
(+ 54 (*(/ aa 4000) 4))

哪位仁兄可以解惑
[雨的节奏][雨的节奏] 09:09:01
可以
[tryhi]大海 09:09:25
只能这样写吗?能不能换一种直观一点的写法
[啵浪鼓] 09:11:23
基本就这样了,不能缩减了
[tryhi]大海 09:11:52
明白了,确实别别的语言绕口
明白了,确实比别的语言绕口
[蔡__洛]不快乐 09:15:57
玩arx去
 楼主| 发表于 2013-9-12 09:27:01 | 显示全部楼层
[tryhi]大海 09:27:01
请问一下,取余数是哪个函数
[野狼谷]笨鸟 09:27:41
rem
刚百度的
[tryhi]大海 09:28:05
感谢
[kwok][ww5w]行舟月下 09:28:43
_.layer前面控制是加点和加-的是那个?
[野狼谷]笨鸟 09:29:01
试试就知道了
[q3_2006]q2 09:29:02
getpoint 时想临时开启捕捉LISP怎么写??
getpoint 时想临时开启捕捉LISP怎么写??
[野狼谷]笨鸟 09:29:21
临时开启捕捉??
[lisp-study]jun 09:29:55
osmode
[q3_2006]q2 09:29:56
等于shift+右键。。。
不行。。
[lisp-study]jun 09:30:05
设置变量
怎么不行?
[q3_2006]q2 09:30:17
就点一下。。
[tryhi]大海 09:30:20
osmode
肯定行啊
[q3_2006]q2 09:30:27
设置这个太烦了。。
简单点的方法!
[lisp-study]jun 09:31:15
(setvar)(getpoint)(setvar)(getpoint)
没有更简单的了
[野狼谷]笨鸟 09:31:57
有没有根据图块大小在外面生成一个矩形框的程序呢?
[lisp-study]jun 09:32:08
[野狼谷]笨鸟 09:32:38
给一个看看??
[lisp-study]jun 09:32:43
vla-getboundingbox
[野狼谷]笨鸟 09:32:49
感谢!你很高啊!
[lisp-study]jun 09:33:14
....
[死者不舞] 09:33:44
lisp如何读取excel工作表单元格数据
 楼主| 发表于 2013-9-12 09:45:06 | 显示全部楼层
[野狼谷]笨鸟 09:45:06
(command "_rectang"  (list (vlax-safearray->list minext))( (list  (vlax-safearray->list maxext)) "")
我在后面加这句画一个矩形,怎么不对呢?
[野狼谷]笨鸟 09:46:07
(command "_rectang"  (vlax-safearray->list minext)  (vlax-safearray->list maxext) )
自己解决了,呵呵
[kwok][ww5w]行舟月下 09:46:22
请问一下控制图层命令_layer前面加-layer或.layer是哪个变量?
[xiaolong1487]五叶 09:47:51
clayer
[kwok][ww5w]行舟月下 09:49:49
请问一下控制图层命令_layer前面加-layer或.layer是哪个变量? .layer老弹出对话框
[tryhi]大海 09:50:46
数值转为字符串除了rtos还有哪个函数
[kwok][ww5w]行舟月下 09:50:59
-layer也一样,出对话框,有个 变量控制的
[VBALISPER]恐龙 09:51:35
filedia
[VBALISPER]恐龙 09:52:31
-layer 你直接在命令行试一下呢.我怎么不出来对话框?
[tiyi8888]永远D痛 09:53:01
有了一横就没有对话框了吧
目的就是这样的
[tryhi]大海 09:53:10
数值转为字符串除了rtos还有哪个函数
[kwok][ww5w]行舟月下 09:54:15
就是不怎么弄的,有个变量的,我忘了,可以改一下,这样只要命令加-就不弹对话框,我现在是不管加不加都弹对话框,
[VBALISPER]恐龙 09:54:42
-layer 你直接在命令行试一下呢.我怎么不出来对话框?
[kwok][ww5w]行舟月下 09:54:46
之前也有这 情况,后来改了个变量就好了
[VBALISPER]恐龙 09:54:50
命令行
filedia
[kwok][ww5w]行舟月下 09:55:17
不是filedia
[q3_2006]q2 09:58:30
op 重置
[kwok][ww5w]行舟月下 10:02:38
[qqimg]201309/{1F131918-C4B4-C3ED-D6A8-C2FCD9F2755A}.jpg[/qqimg]
[pzweng][pzweng]路人 10:03:54
长度
表长
[野狼谷]笨鸟 10:04:07
没有实际值吗?
[pzweng][pzweng]路人 10:04:08
3个元素的表
这是建一个空表
[野狼谷]笨鸟 10:04:20
哦,X Y Z
[pzweng][pzweng]路人 10:04:31
不是
这只是建一个表
不是xyz
[野狼谷]笨鸟 10:05:02
如何赋值呢?
比如‘(0 0 0)
[pzweng][pzweng]路人 10:05:22
fill
[野狼谷]笨鸟 10:05:38
for exzample?
[野狼谷]笨鸟 10:06:34
这个是不是就是一个元素?
[pzweng][pzweng]路人 10:06:46
索得斯内
[野狼谷]笨鸟 10:07:10
(vlax-safearray-fill addext1 -10)
失败
[pzweng][pzweng]路人 10:07:16
[野狼谷]笨鸟 10:07:41
setq 多方便
[pzweng][pzweng]路人 10:07:50
但是用VBA的方法有些值必须要这样转
否则不识别
[野狼谷]笨鸟 10:08:45
(list (Get_point_add (vlax-safearray->list minext) addext1 addext1 )(Get_point_add (vlax-safearray->list maxext) addext2 addext2 ));;获取边界点坐标
[野狼谷]笨鸟 10:09:16
我想给矩形框上下角点向外扩10个单位
[pzweng][pzweng]路人 10:09:48
弄清楚safearray->list 与fill就容易了
[野狼谷]笨鸟 10:10:17
是不是这个还得转换一下
路人给看看呗
[pzweng][pzweng]路人 10:10:29
你这个不要了吧
又不用safearray数组
[野狼谷]笨鸟 10:11:08
角点是safearray数组
[野狼谷]笨鸟 10:11:38
是啊,所以有点乱嘛
[pzweng][pzweng]路人 10:11:53
p1是什么值
[野狼谷]笨鸟 10:12:26
随便,就是获取一个点附近的某点
[pzweng][pzweng]路人 10:12:49
exzample
[q530496591][q530496591]小菜鸟 10:13:03
看不懂
[野狼谷]笨鸟 10:13:09
用来给矩形向外偏移10后加外框
[pzweng][pzweng]路人 10:13:41
就是左下角-10右上角+10
[野狼谷]笨鸟 10:13:57
对,X Y都减去10
其实就是offset一下
[pzweng][pzweng]路人 10:14:31
把+改成-
[野狼谷]笨鸟 10:14:35
既然有坐标了,就不用offset了,直接搞
[lisp-study]jun 10:14:39
那就直接offset 把原来的删除就行了嘛
[野狼谷]笨鸟 10:14:53
不会选方向啊
offset需要到屏幕点一下内外
[lisp-study]jun 10:15:12
不需要啊
[野狼谷]笨鸟 10:15:27
offset不分内外吗?
[q3_2006]q2 10:15:29
[qqimg]201309/{F09A6825-66A3-E04D-C088-8CFDD6E336A1}.jpg[/qqimg]add 可以 是负值
[野狼谷]笨鸟 10:15:37
哦,
[lisp-study]jun 10:15:38
(vla-offset ent offdist)
[野狼谷]笨鸟 10:15:58
这个问题既然提出来了,就正好学习一下数据转换吧,
[pzweng][pzweng]路人 10:16:34
你的自定义函数已经写好了,你还要干嘛哦
[野狼谷]笨鸟 10:16:58
不是,在上面用的时候有问题,主要是vla数据结构影响
(list (Get_point_add (vlax-safearray->list minext) addext1 addext1 )(Get_point_add (vlax-safearray->list maxext) addext2 addext2 ));;获取边界点坐标
这句
[pzweng][pzweng]路人 10:18:20
这里的addext1改成-10就行了
addext2 为10
[q3_2006]q2 10:19:10
addext1 addext1 addext2 addext2 ???
[野狼谷]笨鸟 10:19:10
好像不行 (vlax-safearray->list minext)不能直接加减
表示X Y方向都移动
我这个函数是替代polor的
[lisp-study]jun 10:19:56
你是移动还是外偏?
[pzweng][pzweng]路人 10:20:26
(command "_rectang"  (Get_point_add (vlax-safearray->list minext) -10 -10)  (Get_point_add(vlax-safearray->list maxext)10 10)  )
[野狼谷]笨鸟 10:20:30
还是弧度
[lisp-study]jun 10:20:52
给你个我写的
[qqimg]201309/{7968B0EE-6558-D267-A151-1445020442B3}.jpg[/qqimg]
[野狼谷]笨鸟 10:21:10
哥们,你给个可编辑的不行吗?
不过这个在你们帮助下已经可以了
[lisp-study]jun 10:22:17
自己抄一遍才有收获
肯定行
[野狼谷]笨鸟 10:22:41
这个确实基点吧
[stoyer][stoyer] 10:22:45
不行,有变量要用list
[pzweng][pzweng]路人 10:22:47
不行
[stoyer][stoyer] 10:23:00
(setq ptx 100)
(setq pty 200)
(setq pt (list ptx pty))
[pzweng][pzweng]路人 10:23:04
[tryhi]大海 10:23:13
感谢
[pzweng][pzweng]路人 10:23:25
eval也可以
[tryhi]大海 10:23:46
[tryhi]大海 10:24:20
学习了
[tryhi]大海 10:25:29
在vlisp里面写到一半崩溃了。。。没有保存是不是都不见了
[野狼谷]笨鸟 10:26:19
(vla-offset
     (vlax-ename->vla-object  (entlast))
     10
)
刚测试,这样写也可以
[pzweng][pzweng]路人 10:26:42
(getfiled "选择文件" "" "asm.1" 8)
[pzweng][pzweng]路人 10:27:50
多年没用PROE了
[woky57]WOKY 10:33:10
麻烦高手们帮小弟看看这个
 楼主| 发表于 2013-9-12 11:24:44 | 显示全部楼层
[alexanderlili][alexanderlili]友缘 11:24:44
请问获得文字中心点用什么函数或者自己编的话用什么思路
[野狼谷]笨鸟 11:24:55
求助,一直没有搞明白,entsel 选择的实体与ssget选择的实体,有些是需要用car脱皮的,有些不需要,具体怎么回事?
text看看就知道了
[cie0588][cie0588] 11:25:52
entsel 返回的是个表
ssget 返回的是个选择集
[野狼谷]笨鸟 11:26:18
然后用car去取第一个元素??
[cie0588][cie0588] 11:26:49
entsel 返回的表中第一个元素是图元名。
[野狼谷]笨鸟 11:26:58
[woky57]WOKY 11:27:08
http://bbs.mjtd.com/thread-107560-1-1.html

大家有空到这看看啊
[野狼谷]笨鸟 11:27:31
(ssname ssget_a  0)获取的是图元名吗?
ssget_a 为选择集
[198526]DZ 11:27:50
是的
[野狼谷]笨鸟 11:28:03
是不是不再需要car了?
[cie0588][cie0588] 11:28:13
当然啊
[野狼谷]笨鸟 11:28:31
呵呵,经常乱用car,导致出错
[q3_2006]q2 11:28:38
ssname
返回选择集中由序号指定的那个对象(图元)的图元名
[cie0588][cie0588] 11:29:42
[qqimg]201309/{94EF4847-363F-D3EB-B67F-A619CEDB4244}.jpg[/qqimg]
多看看函数帮助。
[野狼谷]笨鸟 11:29:49
哦,ssname == (car(entsel ))
[328302216][328302216]小莫 11:39:18
默K 11:41:22
大家好,我刚加进来,以后多多关照哦
[pzweng][pzweng]路人 11:42:09
先看群规
[pzweng][pzweng]路人 11:43:32
[tryhi]大海 11:44:48
执行命令的时候,有没有办法让按esc键的时候仍然会执行设定的某个命令
[198526]DZ 11:45:27
你应该是想设置出错函数吧
[tryhi]大海 11:45:57
(setq pt (getpoint " 文字位置"))
(setq snap (getvar "osmode"));记录当前捕捉状态
(setvar "osmode" 0);设置当前捕捉为空
[tryhi]大海 11:46:47
我在捕捉点的时候希望关闭捕捉,然后执行完再恢复,但有时我不想执行了按esc,这样就恢复不了了
[tryhi]大海 11:47:35
(setq snap (getvar "osmode"));记录当前捕捉状态
(setvar "osmode" 0);设置当前捕捉为空  
(setq pt (getpoint " 文字位置"))
(setvar "osmode" snap);恢复捕捉
没有他的书
京东有吗
去买一本
[tryhi]大海 11:48:51
[qqimg]201309/{63AF935E-EFF8-19E7-1CB0-FADEC7978F54}.jpg[/qqimg]
如果我在这里按下esc,这样就恢复不了原先的捕捉了
[q530496591][q530496591]小菜鸟 11:49:44
加个出错嘛
*eerr*不记得了好像不是这样
[tryhi]大海 11:50:08
怎么加,有没有例子
[q530496591][q530496591]小菜鸟 11:50:37
你到明记上查查
[tryhi]大海 11:50:51
多谢
[q530496591][q530496591]小菜鸟 11:51:10
嗯。G版有个专门写的
写得很详细。
[tryhi]大海 11:51:43
[qqimg]201309/{42812A13-4B0B-7300-FA5A-445030045AE9}.jpg[/qqimg]
不知这本书如何
好的
[q530496591][q530496591]小菜鸟 11:52:08
不怎么好!
我有买
[tryhi]大海 11:52:39
[qqimg]201309/{0B5D307D-A096-FDF9-895B-00B33E9532FC}.jpg[/qqimg]
这本好像没有高级篇的
我有其他语言的编程的基础
[pzweng][pzweng]路人 11:52:50
visual lisp程序设计(AutoCAD 2006) 李学志主编
这本不错
[tryhi]大海 11:54:10
[qqimg]201309/{5A6AF57F-3D23-70E1-1EB0-938D71F40E32}.jpg[/qqimg]
便宜
[soly2006][soly2006]季鸟 11:54:51
初学不推荐学lisp,处理数据超慢
[tryhi]大海 11:55:22
那学.net吗
[soly2006][soly2006]季鸟 11:56:06
临时处理小问题lisp快,最好是.net
[tryhi]大海 11:57:24
都是拿来临时处理小问题的,不是专门搞这一块
[woky57]WOKY 12:00:55
买猫的视频吧
[pzweng][pzweng]路人 12:09:15
1~255随机数怎么写
 楼主| 发表于 2013-9-12 12:35:56 | 显示全部楼层
[pzweng][pzweng]路人 12:35:56
谁能写个随机函数1~255
[soly2006][soly2006]季鸟 12:42:29
一搜一大把
 楼主| 发表于 2013-9-12 12:53:25 | 显示全部楼层
[雨的节奏][雨的节奏] 12:53:25
[q3_2006]q2 12:53:25
你的应该是归0比较合适
[野狼谷]笨鸟 12:53:26
不喜欢polor按角度找下一个点
[tryhi]大海 12:53:26
请问取整的函数名是什么
[野狼谷]笨鸟 12:53:26
外偏
[VBALISPER]恐龙 12:53:26
-layer
[野狼谷]笨鸟 12:53:26
谢谢
 楼主| 发表于 2013-9-12 12:53:25 | 显示全部楼层
[邹锋]Tony 12:53:25
[qqimg]201309/{2159144F-A955-7ED8-91E3-F10FD6CF8A00}.jpg[/qqimg]
 楼主| 发表于 2013-9-12 13:42:38 | 显示全部楼层
[pzweng][pzweng]路人 13:42:38
能否帮我搜一个
 楼主| 发表于 2013-9-12 14:02:16 | 显示全部楼层
[328302216][328302216]小莫 14:02:16
(/ (rem(getvar "cputicks") 255) 1)
[pzweng][pzweng]路人 14:05:13
我试试
我用时间
[pzweng][pzweng]路人 14:06:07
谢谢
好用
[328302216][328302216]小莫 14:07:27
这也是我前几天刚好在论坛里看到
[pzweng][pzweng]路人 14:08:01
是龙仔仔的吧
我公司网络限制了
一些贴看不到
[328302216][328302216]小莫 14:08:23
不记得了
[pzweng][pzweng]路人 14:08:24
只能求助你们了
[328302216][328302216]小莫 14:09:12
好像是曹版的吧
 楼主| 发表于 2013-9-12 14:21:09 | 显示全部楼层
[alexanderlili][alexanderlili]友缘 14:21:09
唉 上午刚问完问题就被领导叫走了
请问获取文字的中间点有什么思路?
不是插入点 而是一个文字图元的正中间的那个点
[pzweng][pzweng]路人 14:22:23
textbox
[soly2006][soly2006]季鸟 14:22:36
textbox形心
[q3_2006]q2 14:24:56
[qqimg]201309/{9E445BA0-9E74-AF0A-7BD0-4835F62C1392}.jpg[/qqimg]谁说的。。
[alexanderlili][alexanderlili]友缘 14:26:49
[qqimg]201309/{02691BB8-3F77-8D3B-B847-7086EE818D40}.jpg[/qqimg]
不管文字在哪儿 都返回假设这个字在原点时的情况
是这样吧
[pzweng][pzweng]路人 14:29:16
你选找到文字的坐标位置
计算文字长度
字高
明白吗
[alexanderlili][alexanderlili]友缘 14:30:05
第一步比较迷惑
坐标位置这个怎么操作呢?
[pzweng][pzweng]路人 14:31:02
组码10
还要获取文字对齐方式
你是不是单行文字
[alexanderlili][alexanderlili]友缘 14:31:42
单行和多行的情况都有
[alexanderlili][alexanderlili]友缘 14:33:14
看来还得是每种对齐方式对应一种情况了
[pzweng][pzweng]路人 14:33:25
你等会
[alexanderlili][alexanderlili]友缘 14:35:23
我了个去 这么神奇
[alexanderlili][alexanderlili]友缘 14:37:53
直接给出中点 神奇
就是看不大明白
太感谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 03:54 , Processed in 0.223359 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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