明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 明经快报

[LISP群(1)] 2013-05-23 明经 AutoLISP 编程(102918348) 群聊记录:弹出警告信息,点确定就去打印,点取消就退出。怎么写

 关闭 [复制链接]
 楼主| 发表于 2013-5-23 14:59:17 | 显示全部楼层
[leyouyou001]youyou 14:59:17
[qqimg]oldimg/{3825EEF4-1EB0-C581-9D50-395F802E0F4A}.jpg[/qqimg]这个两个谁能下载呀
 楼主| 发表于 2013-5-23 15:55:51 | 显示全部楼层
[328302216][328302216]小莫 15:55:51
谁有点选两点,得到两点间的中点坐标的程序,给发一个!想偷懒一下
[328302216][328302216]小莫 16:02:28
看来还是自己写一个来得快[qqimg]oldimg/{79EA0D61-C59F-FED7-100F-52A6FF2FCF78}.gif[/qqimg]
[LC100]建筑设计 16:04:45
这个真是自己写得快。
[328302216][328302216]小莫 16:05:09
  所以说想偷懒一下嘛
[LC100]建筑设计 16:06:31
你想求坐标 啊。
[328302216][328302216]小莫 16:06:59
[328302216][328302216]小莫 16:09:25
  这么简单
[ttthhh_hb] 16:09:38
[LC100]建筑设计 16:09:59
复制出来,以后用。
[ttthhh_hb] 16:10:33
网上搜一下,一大把
[LC100]建筑设计 16:10:44
我平面也是按手算的。
这二个函数真不会用。我就看你们常用这二个
[LC100]建筑设计 16:12:08
getdist长度,能返回起终点坐标吗
[ttthhh_hb] 16:14:17
那就不用getdist啊
用getpoint
[lisp](car (entsel)) 16:17:29
((a 1)(c 2)(b 3))如何排序得到((a 1)(b 3)(c 2))呢?
[VBALISPER]恐龙 16:18:19
就是按第一个数(X)排嘛.网上也多啊.
[lisp](car (entsel)) 16:25:55
我自己知道了,vl-sort函数就可以了
[leyouyou001]youyou 16:26:38
机器人,没反应了,吃饭去了吧
[328302216][328302216]小莫 16:27:31
[qqimg]oldimg/{135680AA-E06B-F45D-8ECB-1B59039A9124}.gif[/qqimg]
[328302216][328302216]小莫 16:28:25
难道这都被TX搞了?
[leyouyou001]youyou 16:28:36
哈哈
[lisp](car (entsel)) 16:30:24
假设变量为n,那么如何产生n个空格产生的字符串呢?
[328302216][328302216]小莫 16:37:26
[qqimg]oldimg/{D930F2EB-2DDB-363D-8D0C-01452F326C99}.jpg[/qqimg]
不知道空格用什么表示
[小伟jeny]小伟 16:38:57
" "
这不就是空格
[328302216][328302216]小莫 16:39:50
难道先舍一个变量=" " 然后循环 n次?
[小伟jeny]小伟 16:40:35
我觉得是 不知道lisp有不有space这样的函数
[328302216][328302216]小莫 16:41:17
这样的话貌似还挺麻烦的吗  功能简单,但是程序要好长啊
[小伟jeny]小伟 16:42:03
我想得到n个"a"组成的字符串
得咋办
[328302216][328302216]小莫 16:46:48
每次写一个a循环N次 然后用strcat组合?应该可以行得通。
只不过不是最好的办法
[328302216][328302216]小莫 16:48:19
函数量不多,只能想到些笨办法 [qqimg]oldimg/{BEBADE38-ABB5-9EBE-2E02-B06CC0316E13}.gif[/qqimg]
[lisp](car (entsel)) 16:54:26
(defun nkongge (num / num kongge i)
  (setq kongge "")
  (setq i 0)
  (repeat num
      (setq kongge (strcat kongge " "))
  )
  (princ)
  kongge
)
[lisp](car (entsel)) 16:56:21
最笨的办法就是最好的办法
[328302216][328302216]小莫 17:00:34
给一个最笨的程序
(defun c:strr()
(setq str(getstring ""))
  (setq str1 str)
(setq n(getint ""))
(if (> n 1)
(repeat (- n 1)
  (setq str1(strcat str1 str))
  )
  )
  )
[pzweng]路人 17:02:00
[328302216][328302216]小莫 17:03:21
[pzweng]路人 17:04:31
(repeat n (setq str (strcat str "a")))
[pzweng]路人 17:05:53
_$ (repeat 10 (setq str (strcat str "a")))
"aaaaaaaaaaa"
[328302216][328302216]小莫 17:06:24
11个a了
[LC100]建筑设计 17:06:56
那就改成n-1嘛
[328302216][328302216]小莫 17:08:40
(defun c:strr()
(setq str(getstring ""))
  (if (= str nil) (setq str " "))
  (setq str1 "22")
(setq n(getint ""))
(if (> n 1)
(repeat (- n 1)
  (setq str1(strcat str1 str))
  )
  )
  (setq str1(strcat str1 "ss"))
  )
当str输入为空,n大于1时返回的怎么是"22ss"
[328302216][328302216]小莫 17:09:31
如输入n=3   怎么返回的不是 “22   ss”
[pzweng]路人 17:14:34
[face141.gif]
[328302216][328302216]小莫 17:15:23
咦  现在好像又好了
[328302216][328302216]小莫 17:16:45
(if (= str "") (setq str " "))
(if (= str nil) (setq str " "))
这两句不相等的吗?
[LLXXZZ]vlisp 17:17:06
不等.
[328302216][328302216]小莫 17:17:33
""  和  nil  有什么区别?
[328302216][328302216]小莫 17:19:28
了解了
[328302216][328302216]小莫 17:20:31
(setq str(getstring ""))  我还以为这句输入为空的话返回的是nil呢  原来返回的是 ""
LISP学习 17:23:32
[qqimg]oldimg/{E7D1F115-D05F-66AF-484D-09A30D5CC9AF}.gif[/qqimg]
LISP学习 17:25:03
Me.TextBox1.Text = ThisWorkbook.Worksheets("sheet1").Cells(1, 1)
这句A1单元格怎么改写,谢谢
LISP学习 17:27:02
EXCEL VBA
[pzweng]路人 17:27:35
那不会
[328302216][328302216]小莫 17:28:06
vba  我也只是略懂,懂的完全可以省略 [qqimg]oldimg/{BEBADE38-ABB5-9EBE-2E02-B06CC0316E13}.gif[/qqimg]
[小伟jeny]小伟 17:29:37
写的对吧
LISP学习 17:31:57
Me.TextBox1.Text = ThisWorkbook.Worksheets("sheet1").Cells(1, 1)这个是A1的值,我要当前活动单元格中的值
[小伟jeny]小伟 17:32:38
select
试试
LISP学习 17:33:35
[qqimg]oldimg/{B267B8F6-931A-FEEC-27E2-7FA52942F863}.jpg[/qqimg]
[小伟jeny]小伟 17:34:24
Me.TextBox1.Text = ThisWorkbook.Worksheets("sheet1").select
[lisp](car (entsel)) 17:35:09
autolis如何把文本内容输到剪贴板呢?
[小伟jeny]小伟 17:37:42
?#vsto
LISP学习 17:39:31
[qqimg]oldimg/{265565F2-AD63-ED25-F586-D879D7731DE4}.jpg[/qqimg]出现了这个数据
[雨的节奏][雨的节奏] 17:44:57
(list 1 2 3 5)
我要这个表里面先1跟2相加,再2跟3相加,再3跟5相加、、要怎么弄
[q530496591][q530496591]小菜鸟 17:45:32
这个我刚搞会。
[雨的节奏][雨的节奏] 17:45:40
求指导
[q530496591][q530496591]小菜鸟 17:45:58
取每一个表元素。然后每次+1 循环相加就可以了
[小伟jeny]小伟 17:46:09
没看懂
[q530496591][q530496591]小菜鸟 17:46:33
高手。
[328302216][328302216]小莫 17:46:40
mapcar就是 简洁
[q530496591][q530496591]小菜鸟 17:46:41
真简洁
[328302216][328302216]小莫 17:47:00
看了好几次了 就是不会用
[雨的节奏][雨的节奏] 17:47:24
好像有点懂了、、、
[vormittag]桔子 17:47:59
首先考虑repeat 是C的习惯。
[328302216][328302216]小莫 17:48:59
我遇到这种情况都是用些新手思维实现的
[caoyin][caoyin] 17:49:25
桔子兄的方法上次我好像着重跟你演示了
[328302216][328302216]小莫 17:50:06
是看了好几次 但是脑袋还是记不住用法~~
[雨的节奏][雨的节奏] 17:52:41
[qqimg]oldimg/{65784DBF-4B30-C2CD-981C-342CE821DCC2}.gif[/qqimg]
成功了、、、
[雨的节奏][雨的节奏] 17:53:35
[qqimg]oldimg/{5489F884-F6A4-5F6D-9147-D7836CD7E1D5}.gif[/qqimg]
其实就是为了写这个程序、、、
[328302216][328302216]小莫 17:54:15
[雨的节奏][雨的节奏] 17:54:39
多谢指点
[vormittag]桔子 17:55:25
不客气
 楼主| 发表于 2013-5-23 18:25:40 | 显示全部楼层
[efaftd] 18:25:40
谁有CAD地图
[water_system]water_system 18:26:38
dcl程序写好后,我点确定他画图,我点X或是Esc也画图,怎样才能只点确定画图?
 楼主| 发表于 2013-5-23 18:45:36 | 显示全部楼层
[雨的节奏][雨的节奏] 18:45:36
entmake对齐标注需要哪些表
需要那些元素
 楼主| 发表于 2013-5-23 19:05:01 | 显示全部楼层
[雨的节奏][雨的节奏] 19:05:01
求解答啊、、
[vormittag]桔子 19:07:50
(entmake
        (list
            (cons   0 "DIMENSION")
            (cons 100 "AcDbEntity")
            (cons   8 dim_layer)
            (cons 100 "AcDbDimension")
            (cons  10 (trans dim_linept 1 0))
            (cons  70 32)
            (cons   1 "")
            (cons  71 5)
            (cons   3 dim_style)
            (cons 100 "AcDbAlignedDimension")
            (cons  13 (trans dim_pt1 1 0))
            (cons  14 (trans dim_pt2 1 0))
            (cons  50 dim_lineangle)
            (cons 100 "AcDbRotatedDimension")
        );list
    );entmake
[雨的节奏][雨的节奏] 19:09:33
只有10 13 14几个点?
[vormittag]桔子 19:10:30
其他的点不必指定。
[雨的节奏][雨的节奏] 19:12:01
哪些可以省略掉呢
[雨的节奏][雨的节奏] 19:17:46
我这样竟然不行啊
 楼主| 发表于 2013-5-23 19:29:09 | 显示全部楼层
[雨的节奏][雨的节奏] 19:29:09
[qqimg]oldimg/{387A36FF-69D1-E3B6-D3EF-3D71A31169D3}.gif[/qqimg]不行
要崩溃了
[雨的节奏][雨的节奏] 19:32:20
[qqimg]oldimg/{646E1BBA-6788-4F00-27FD-B51B4E181480}.jpg[/qqimg]
我知道X Y Z这三个点啊、、、现在要entmake出来这个标注、、、到底要怎么弄啊
 楼主| 发表于 2013-5-23 19:59:48 | 显示全部楼层
[雨的节奏][雨的节奏] 19:59:48
终于搞定了
[雨的节奏][雨的节奏] 20:00:21
[qqimg]oldimg/{DE068692-2930-8E27-622F-E342C6D583E1}.gif[/qqimg]
[q530496591][q530496591]小菜鸟 20:02:01
[雨的节奏][雨的节奏] 20:02:41
要这样搞
[q530496591][q530496591]小菜鸟 20:03:11
没搞这些
[雨的节奏][雨的节奏] 20:03:18
我复制了一个DXF过去一个一个删、、、
才发现只要保留了这几个就能entmake出来了
[雨的节奏][雨的节奏] 20:04:51
[qqimg]oldimg/{6C89AA6D-25E5-4060-25F7-6B8A95647E94}.gif[/qqimg]
太爽了、、成就感爆棚啊,有木有
[tiyi8888]永远痛 20:06:06
程序发过来,我验收一下
[雨的节奏][雨的节奏] 20:06:20
[qqimg]oldimg/{65784DBF-4B30-C2CD-981C-342CE821DCC2}.gif[/qqimg]
[q530496591][q530496591]小菜鸟 20:06:37
对滴。
给我你的源码
[雨的节奏][雨的节奏] 20:08:02
[qqimg]oldimg/{65784DBF-4B30-C2CD-981C-342CE821DCC2}.gif[/qqimg]能不给源码吗
[tiyi8888]永远痛 20:08:17
[q530496591][q530496591]小菜鸟 20:08:30
不给源码怎么学习。
[leyouyou001]youyou 20:16:40
分项
分享
 楼主| 发表于 2013-5-23 20:43:56 | 显示全部楼层
夏叶 20:43:56
大家好 我的毕业设计是autoisp在CAD中的应用 有人可以指点一下吗
[kewyst]………… 20:44:29
吼吼
[xiabin68]测绘 20:44:48
牛人啊,,
夏叶 20:45:00
牛人?
你会弄吗
[xiabin68]测绘 20:45:36
不会,,,
夏叶 20:45:55
你也是学测绘的?
[kewyst]………… 20:46:06
[qqimg]oldimg/{B7C3D4A5-5F54-7DE5-FE75-5CD13BB8DB99}.jpg[/qqimg]
这个放坡怎么做
[qqimg]oldimg/{1DD36B06-1416-BC4B-F8E4-CFEDF0615AA7}.jpg[/qqimg]
[小伟jeny]小伟 20:46:40
仿一个cass的功能就行了把
[kewyst]………… 20:46:48
2 对挖方边坡,第一级坡率1:0.75;第二级放坡至原始地形,坡率1:1.0;两级之间留2m宽的马道。
3 对填方边坡,第一级坡率1:1.5;第二级边坡放坡至原始地形,坡率1:1.75;两级之间留2m宽的马道。
4 要求转角处的放坡形式为棱形坡。
5 计算挖、填方工程量。
夏叶 20:47:09
啊  不会
[xiabin68]测绘 20:52:24
这个还真不好算,,
[yarp]潜水 20:55:01
我说实话,有想法想做这个。
[kewyst]………… 20:56:27
夏叶 20:56:53
没有人会autolisp吗?
碧海蓝天 20:57:54
会一点点
[xiabin68]测绘 20:57:55
你可以问一问小明
[小伟jeny]小伟 20:57:56
这里的都会alisp
[xiabin68]测绘 20:57:58
小明
[ZZXXQQ] 20:58:04
请把你的问题说出来
夏叶 20:58:30
怎么就把CAD和autolisp联系起来了
[yarp]潜水 20:58:34
首先在3d空间中绘出平台,及开挖及放坡边线,程序自动在原地形上挖填出台地,同时计算出挖填量。
转角的地方还可以设置是转圆角还是尖角。
夏叶 20:58:44
只知道个加载
完了就不知道了
[ZZXXQQ] 20:59:24
那就先看看书
[kewyst]………… 21:00:23
首先在3d空间中绘出平台,及开挖及放坡边线,程序自动在原地形上挖填出台地,同时计算出挖填量。
转角的地方还可以设置是转圆角还是尖角。
如何得到与底线的交线啊
[kewyst]………… 21:01:42
啥程序?
[yarp]潜水 21:01:45
我采用的是delaunay三角剖分,分别计算各三角形的交线就可以计算出相贯线了。
还没写呢。
[小伟jeny]小伟 21:02:26
我搞过三角网
夏叶 21:02:27
还没写呢
最开始的我都不知道 有人愿意帮帮我不?
[kewyst]………… 21:02:53
夏叶 21:03:12
就是加载了程序以后 怎么运用?
[ZZXXQQ] 21:03:26
键入命令
夏叶 21:04:13
就比如说我要通过输入三个点来画一个三角形
[小伟jeny]小伟 21:04:30
你看看书吧
夏叶 21:04:37
什么书
[小伟jeny]小伟 21:04:45
学生吧
[tiyi8888]永远痛 21:04:49
你有三个点的坐标吗
夏叶 21:04:49
恩恩
[ZZXXQQ] 21:04:50
LISP的书
碧海蓝天 21:04:52
我愿意啊,只要你想学
[tiyi8888]永远痛 21:04:56
有坐标不就行了吗
主要是坐标的点要算的吧
[小伟jeny]小伟 21:05:00
图书馆
夏叶 21:05:07
我在做毕业设计呢
[小伟jeny]小伟 21:05:15
图书馆
夏叶 21:05:21
关键是有坐标运用不上autolisp了呀
[小伟jeny]小伟 21:05:39
看书吧
夏叶 21:05:48
我们图书馆估计没有
破的
[yarp]潜水 21:06:27
不用看书的,装个cad看帮助。
夏叶 21:06:54
我装的10版的
[ZZXXQQ] 21:07:16
(defun c:tt ()
 (if (and
      (setq p1 (getpoint " 第一点: "))
      (setq p2 (getpoint p1 " 第二点: "))
      (setq p3 (getpoint p2 " 第三点: ")))
  (command "_.PLINE" p1 p2 p3 "C")
 )
 (princ)
)
三点画三角形
夏叶 21:07:44
恩呢
接下来呢
在CAD里该怎么做
[ZZXXQQ] 21:08:05
加载后运行
夏叶 21:08:28
这个运行我就不懂了
你一步一步说
[ZZXXQQ] 21:08:48
键入命令运行
夏叶 21:09:06
命令?
[soly2006]季鸟 21:09:26
你这不是浪费别人时间,至少要看点语法吧
夏叶 21:09:38
我看语法了啊
在命令行输入什么呢
[ZZXXQQ] 21:10:14
输入定义的命令
夏叶 21:10:35
就是那个tt?
[soly2006]季鸟 21:11:03
看了语法c:tt都不知道?
夏叶 21:11:32
我在请教
[soly2006]季鸟 21:12:09
别有问题马上就问,至少简单的自己解决
要么百度一下
[sqbao] 21:12:57
我看你买个不死猫的教程看看?
夏叶 21:13:18
我百度了 没有
啥?
[sqbao] 21:13:34
要不就好好把书看一遍?
[soly2006]季鸟 21:14:41
不过这里热心人多,就是看到着急
夏叶 21:14:50
o
[sqbao] 21:14:50
给你解释一遍好了
夏叶 21:14:58
谢谢
[sqbao] 21:15:21
这个控制台会把
[qqimg]oldimg/{F2C03E19-2C6C-AF1E-B0D7-6FCB537240DC}.jpg[/qqimg]
我是说进入这个界面
[sqbao] 21:17:01
夏叶 21:17:08
这个在哪呢
[sqbao] 21:17:10
算 不说话我也懒得讲了
夏叶 21:17:26
我们做的是直接在CAD里弄得
说话呢
别不讲啊
我得找找 思考思考啊
夏叶 21:18:22
人呢
别不说话啊
[sqbao] 21:18:40
autolisp
夏叶 21:18:52
这个知道
[sqbao] 21:18:54
viusal lisp编辑器
夏叶 21:18:55
继续
恩恩
[sqbao] 21:19:10
文件 新建
夏叶 21:19:22
[sqbao] 21:20:12
[qqimg]oldimg/{6F9E7254-9C7F-EE0D-6308-FF49A3683D8A}.jpg[/qqimg]
把你刚才的代码粘贴到这
之后工具—
夏叶 21:20:43
[sqbao] 21:21:05
检查编辑器中文字
夏叶 21:21:27
[sqbao] 21:22:02
没问题 就点[qqimg]oldimg/{05BD7310-8DE6-3AD8-3EBC-93D14281FDDE}.jpg[/qqimg]小的x回到刚才的界面
[qqimg]oldimg/{5B6C215C-6D9E-FB66-3326-33CBFF5855A5}.jpg[/qqimg]如图
然后工具
加载编辑器中文字
夏叶 21:22:48
夏叶 21:23:37
继续
[小伟jeny]小伟 21:23:47
图书馆都有
[sqbao] 21:23:55
应该出现这个界面
[qqimg]oldimg/{B1823837-7A3B-0A94-16EE-5B1717639A08}.jpg[/qqimg]
[小伟jeny]小伟 21:24:09
看书吧
[sqbao] 21:24:22
算 我给他讲一遍
估计又是一个糊弄毕业的
夏叶 21:24:47
我能问一个问题吗
[sqbao] 21:24:54
[qqimg]oldimg/{75277AC1-29D8-FE67-048C-13E8A27FE4A0}.jpg[/qqimg]
然后回到cad主窗口
[小伟jeny]小伟 21:25:03
一个毕业设计就这一个画三角形的功能就够?
夏叶 21:25:12
不能被
只是开始
[sqbao] 21:25:26
[qqimg]oldimg/{7A438746-A9AD-6E0D-7D52-EC326FD67B62}.jpg[/qqimg]
在命令行输入你刚才定义的命令
tt
[ZZXXQQ] 21:25:36
然后是三角形的内接圆
夏叶 21:25:41
恩恩
[sqbao] 21:25:50
[qqimg]oldimg/{6AF478E0-5C1F-8D32-9302-AE1597F2699B}.jpg[/qqimg]
[小伟jeny]小伟 21:25:55
看书
[sqbao] 21:25:55
回车
剩下的自己看
夏叶 21:26:04
[sqbao] 21:26:21
都给你讲到这了  再不会我也没招了
夏叶 21:26:30
autolisp的功能是实现批处理吧?
[ZZXXQQ] 21:26:38
上明经看看吧
[小伟jeny]小伟 21:26:48
你是测绘本科还是专科?
夏叶 21:26:56
本科
[sqbao] 21:27:03
你先把一本书吃透了
[小伟jeny]小伟 21:27:10
看书吧
我们以前也没学过
夏叶 21:27:23
学的都是各种测量
[sqbao] 21:27:25
就看autolisp基础篇
[小伟jeny]小伟 21:27:45
大同煤校?
夏叶 21:27:57
你怎么知道
[小伟jeny]小伟 21:28:04
我认识你学长
[sqbao] 21:28:10
。。。
世界真小
夏叶 21:28:16
好吧
是呢
[小伟jeny]小伟 21:28:32
他的毕设也是autolisp
夏叶 21:28:42
叫什么啊
[小伟jeny]小伟 21:28:52
代码都是我帮他写的
呵呵
[sqbao] 21:29:04
。。。。。
夏叶 21:29:05
啊?
[sqbao] 21:29:10
差。
夏叶 21:29:28
关于什么的啊
[小伟jeny]小伟 21:29:53
我也忘了 
好像很简单 
夏叶 21:30:49
问你们问得我都不好意思了 傻得 明天我去看看能不能借本书吧
[ZZXXQQ] 21:31:19
上明经下载本教程吧
夏叶 21:31:32
明经?
[ZZXXQQ] 21:32:15
看本窗口右上角,有网址
夏叶 21:32:32
看到了
夏叶 21:33:15
谢了啊
[soly2006]季鸟 21:33:48
建议不要看教程,学中这个就是三电子文档,变量 函数 组码 搞定。
夏叶 21:34:23
我还是有点不懂 怎么就算实现了批处理了呢?
[ZZXXQQ] 21:35:06
先别想那么多,先写些小东东再说
[小伟jeny]小伟 21:35:23
把所有的点选出来 一个个的取坐标 然后写到txt里 
[soly2006]季鸟 21:35:25
跟dos的批处理两麻事
[小伟jeny]小伟 21:35:43
这就是批量处理
夏叶 21:36:50
哦哦
夏叶 21:37:25
程序中首先获得需要修改高程
值的所有坐标点数据以组成选择集, 然后逐一取出各个坐标
点的Z 值加上对应的高程差值以修改其Z 值( 即高程值) ,
就比如说这个
组成选择集?
怎么组呢
[小伟jeny]小伟 21:38:12
很聪明嘛
夏叶 21:38:22
这是复制的
[soly2006]季鸟 21:39:11
又一个搞测量的钻进来,
夏叶 21:39:45
我是来拜师的
学习的
碧海蓝天 21:40:25
夏叶 21:43:28
(defun c:gcxg (/ cm os bl DMcz zg czb ss1 i pt odata
old new dwd x y ndata ws)
(setq cm (getvar "cmdecho")
os (getvar "osmode")
osmode是什么意思
[ZZXXQQ] 21:44:18
系统变量名
[小伟jeny]小伟 21:44:18
亲 你应该先学习一下cad
[ZZXXQQ] 21:44:35
看ACAD的帮助
夏叶 21:45:25
哦哦
[偏爱云~小吴] 21:47:18
哪位大侠有字母递增复制的源码
 楼主| 发表于 2013-5-23 22:01:41 | 显示全部楼层
夏叶 22:01:41
有时我们需将测量成果AUTOCAD 文件缩小比例后利用,图中的高程点等数字可能由于过
小而无法看清,虽然可采用特性匹配同时修改,但可能造成文字放大后与标注高程位置偏离
较多,如一一修改则将花费很大的人力和时间,现假设高程点位于gcd 图层上,利用TEXT
写成,打开一张测量图,确定好所要修改文字的最终大小zh,以及文字修改后需水平和垂直
移动的距离dx 和dy 值,加载以下AUTOLISP 程序运行bzh 命令即可成批修改文字大小。
(
defun c:bzh()
(setq zh(getreal "\n 请输入字号"))
(setq dx(getreal "\n 请输入水平移动距离右为正左为负"))
(setq dy(getreal "\n 请输入垂直移动距离上为正下为负"))
(setq gcd (ssget "X" (list (cons 0 "TEXT")(cons 8 "gcd"))))
(setq n 0)
(
repeat (sslength gcd)
(setq gcdian(entget (ssname gcd n)))
(setq gcdx (cadr(assoc '10 gcdian)))
(setqgcdian
(subst (list 10(+ gcdx dx) (+ gcdy dy) 0)
(assoc 10 gcdian)
gcdian
)
)
 楼主| 发表于 2013-5-23 22:12:31 | 显示全部楼层
[ZZXXQQ] 22:12:31
(defun c:bzh()
 (setq zh(getreal "\n 请输入字号"))
 (setq dx(getreal "\n 请输入水平移动距离右为正左为负"))
 (setq dy(getreal "\n 请输入垂直移动距离上为正下为负"))
 (setq gcd (ssget "X" (list (cons 0 "TEXT")(cons 8 "gcd"))))
 (setq n -1)
 (repeat (sslength gcd)
  (setq gcdian( entget (ssname gcd (setq n (1+ n)))))
  (setq gcdx (assoc 10 gcdian))
  (entmod (subst (mapcar '+ gcdx (list 0 dx dy 0)) (assoc 10 gcdian) gcdian))
 )
 (princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 18:18 , Processed in 0.193958 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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