明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 明经快报

[LISP群(1)] 2013-06-08 明经 AutoLISP 编程(102918348) 群聊记录:我一直在用论坛里的一个记忆拉伸,每次只需定方向就按记忆距离拉伸了,

 关闭 [复制链接]
 楼主| 发表于 2013-6-8 14:35:40 | 显示全部楼层
[kewyst]………… 14:35:40
wgs84  转北京54  怎么转 没有参数 精度高么
[雨的节奏][雨的节奏] 14:37:14
谢谢
[雨的节奏][雨的节奏] 14:46:50
用vla-get-activeselectionset可以选择激活的vla对象
然后用vlax-for来处理会不会快好多啊、、
 楼主| 发表于 2013-6-8 14:57:24 | 显示全部楼层
[woky57]WOKY 14:57:24
[qqimg]oldimg/{2A509DEE-264B-406B-4451-B02DD9B1D409}.jpg[/qqimg]
求助,我这个程序的KK怎么会返回“”这个值
 楼主| 发表于 2013-6-8 15:28:33 | 显示全部楼层
[kwok][kwok]巭隼 15:28:33
[qqimg]oldimg/{615F8952-3D67-09B2-9FE9-26317977C37A}.jpg[/qqimg]
[LC100]建筑设计 15:28:58
删除重叠块源码谁有
[kwok][kwok]巭隼 15:29:45
论坛有
[LC100]建筑设计 15:29:54
[qqimg]oldimg/{D2B65D8A-6730-03A5-5B97-4DB714797C61}.jpg[/qqimg]
这个长老没共享源码,只有fas的
[LC100]建筑设计 15:31:08
可以用
 楼主| 发表于 2013-6-8 16:00:06 | 显示全部楼层
[flytoday]过^-^客 16:00:06
各位老大在布局中用了chspace这个命令以后。。怎么还原成原来布局
 楼主| 发表于 2013-6-8 16:14:15 | 显示全部楼层
ya雀无声 16:14:15
(setq ENAMES (cons (ssname SS (setq I (1- I))) ENAMES))
这个会得到什么,
(foreach E1 ENAMES
    (setq ELIST (entget E1))
    (setq V5 (cdr (assoc 5 ELIST)))
    (setq V10 (cdr (assoc 10 ELIST)))
    (setq V11 (cdr (assoc 11 ELIST)))

    (foreach E2 ENAMES
      (setq ELIST (entget E2))
      (and (/= (cdr (assoc 5 ELIST)) V5)
           (setq T_INTERS (inters V10
                       V11
                       (cdr (assoc 10 ELIST))
                       (cdr (assoc 11 ELIST))
                   )
           )
           (not (member T_INTERS T_LIST))
           (setq T_LIST (cons T_INTERS T_LIST))
      )
    )

      )
 楼主| 发表于 2013-6-8 16:41:50 | 显示全部楼层
ya雀无声 16:41:50
(not (member T_INTERS T_LIST))
           (setq T_LIST (cons T_INTERS T_LIST))
这句是什么逻辑
[雨的节奏][雨的节奏] 16:42:37
假如pt_inters不在pt_list里面、就把pt_inters加入到pt_list里面
ya雀无声 16:43:40
这两个是完全独立的表达式,
[woky57]WOKY 16:43:53
ya雀无声 16:43:59
没有(not) 这句表达式可以吗
[雨的节奏][雨的节奏] 16:44:35
:pensive:肯定要(if (not (member xx xxlist))
            (setq xxlist (cons ss sslist)))囝
ya雀无声 16:47:13
哦,他if 提到最前面了。 那个foreach 怎么 看
ya雀无声 16:47:47
[qqimg]oldimg/{B0A4AA56-F594-FF8A-4057-A278DD485818}.jpg[/qqimg]
[fsxm]飞诗 16:48:36
眼都看瞎
日月星 16:48:55
[qqimg]oldimg/{B0A4AA56-F594-FF8A-4057-A278DD485818}.jpg[/qqimg]怎么把背景改为黑色?
[woky57]WOKY 16:48:59
飞诗大侠
[fsxm]飞诗 16:49:16
[qqimg]oldimg/{B5F43A21-581C-6B6F-52A3-CFB9FFB264B2}.gif[/qqimg]准备下班
[woky57]WOKY 16:49:24
求飞诗大侠瞄一眼
ya雀无声 16:49:50
(foreach E1 ENAMES
    (setq ELIST (entget E1))
    (setq V5 (cdr (assoc 5 ELIST)))
    (setq V10 (cdr (assoc 10 ELIST)))
    (setq V11 (cdr (assoc 11 ELIST)))

    (foreach E2 ENAMES
      (setq ELIST (entget E2))
      (and (/= (cdr (assoc 5 ELIST)) V5)
           (setq T_INTERS (inters V10
                       V11
                       (cdr (assoc 10 ELIST))
                       (cdr (assoc 11 ELIST))
                   )
           )
           (not (member T_INTERS T_LIST))
           (setq T_LIST (cons T_INTERS T_LIST))
      )
    )

      )
他这个 foreach 的函数是哪个?
[雨的节奏][雨的节奏] 16:51:40
数括号啊
ya雀无声 16:52:15
x= E1  CLIST
x= E1 ,xLIST=ENAMES
[fsxm]飞诗 16:52:45
[qqimg]oldimg/{7975AF8F-6822-7B91-A079-B582465B4C85}.gif[/qqimg]
[雨的节奏][雨的节奏] 16:53:54
后面的函数可以随便写的、、
ya雀无声 16:53:56
不对
[雨的节奏][雨的节奏] 16:54:01
不一定要lambda
你用来画图搞七七八八的都行
ya雀无声 16:54:40
那这个 foreach 还有用么,
[LC100]建筑设计 16:55:15
删除重叠块原码谁有啊。。。要能提示位置的那种。我用在总图跟平面图上的。
ya雀无声 16:55:22
如果未指定 expr,foreach 返回 nil。
[雨的节奏][雨的节奏] 16:55:22
用处很大啊、、
ya雀无声 16:55:45
求教,看了很久很久了,,实在不懂
ya雀无声 16:56:24
(foreach name list [expr...])
name list 这个都有了,
[expr...]  随便写?
[雨的节奏][雨的节奏] 16:56:57
返回最后一个求值结果
假如你的list是一堆图元名的话、你可以拿来做循环用啊
就可以不用repeat了
直接在expr里面写就行了啊
(foreach x namelist (entdel x))
这样就会删除一namelist里面的对象啊
[雨的节奏][雨的节奏] 17:00:04
:pensive:错了
他是返回最后一次计算结果
应该返回4才对
你理解成apply的功能了
[pzweng]路人 17:00:47
写错了吧
ya雀无声 17:00:47
哦,
[LC100]建筑设计 17:00:53
删除重叠块原码谁有啊。。。要能提示位置的那种。我用在总图跟平面图上的。
[雨的节奏][雨的节奏] 17:01:12
[qqimg]oldimg/{DE068692-2930-8E27-622F-E342C6D583E1}.gif[/qqimg]
ya雀无声 17:01:38
[雨的节奏] 再和我指导指导,
ya雀无声 17:02:13
返回最后一个元素的处理结果
我知道
但我刚才发的那段代码
返回的是什么
[雨的节奏][雨的节奏] 17:03:21
你先理解函数的作用就行了啊
这个不是看你要返回什么、一般用的时候是看你要对list里面的元素做什么
ya雀无声 17:04:27
借用他来 一个一个循环?处理?
[雨的节奏][雨的节奏] 17:04:37
是啊
好像科学一点是叫作遍历吧
ya雀无声 17:05:57
(setq ENAMES (cons (ssname SS (setq I (1- I))) ENAMES))
这里得到一串 图元
(foreach E1 ENAMES
    (setq ELIST (entget E1))
这个就是得到这一串图元数据
是吧
[雨的节奏][雨的节奏] 17:07:26
:pensive:他这个东西写的不对
[pzweng]路人 17:07:28
vla-erase
[雨的节奏][雨的节奏] 17:07:47
(expr)
ya雀无声 17:08:12
(expr) 我也找不到
ya雀无声 17:08:51
[qqimg]oldimg/{47555C86-8236-E540-B7B5-532F9D0F23BE}.jpg[/qqimg]
[qqimg]oldimg/{00395587-C92D-3576-EBE2-F8B49FF8F5F0}.jpg[/qqimg]
[雨的节奏][雨的节奏] 17:09:32
哦、、难道这样写也可以???
我试试
ya雀无声 17:10:00
完整的程序
[雨的节奏][雨的节奏] 17:10:17
ya雀无声 17:10:26
看都看不懂
[雨的节奏][雨的节奏] 17:10:27
那样也可以的、、、
我知道了
ya雀无声 17:10:41
求指导
[雨的节奏][雨的节奏] 17:10:42
expr不用括起来的
ya雀无声 17:11:00
而且可以多个expr?
不是,
list 后面那个就是  expr?
不要括起来
[雨的节奏][雨的节奏] 17:12:03
不用括也行、、、
难怪我以前括起来会出错
ya雀无声 17:12:20
(foreach E1 ENAMES
    (setq ELIST (entget E1))
    (setq V5 (cdr (assoc 5 ELIST)))
    (setq V10 (cdr (assoc 10 ELIST)))
    (setq V11 (cdr (assoc 11 ELIST)))
(setq ELIST (entget E1))这个就是 EXPR
返回最后的结果
[雨的节奏][雨的节奏] 17:12:44
后面一堆就是expr啊
ya雀无声 17:13:25
(setq ELIST (entget E1))只有这句才包含 E1和 ENAMES
[雨的节奏][雨的节奏] 17:13:38
[雨的节奏][雨的节奏] 17:14:28
你为什么就总是整不明白呢
ya雀无声 17:14:47
不是得到最后一个元素的处理结果么。
[雨的节奏][雨的节奏] 17:15:12
(foreach x xlist
         (setq xx xx)
          .........
        ..........
    ) ;end foreach
(foreach x xlist
         (setq xx xx)
          .........
        (setq x xx)
    ) ;end foreach
[leyouyou001]youyou 17:15:33
[qqimg]oldimg/{1479BD09-C105-5E67-9D06-C7B3E6C5895E}.jpg[/qqimg]
[qqimg]oldimg/{1479BD09-C105-5E67-9D06-C7B3E6C5895E}.jpg[/qqimg]怎么回事呢
ya雀无声 17:16:52
后面那堆expr 是对ENAMES所有元素的一一处理,
是么
不管他的返回值
(setq ENAMES (cons (ssname SS (setq I (1- I))) ENAMES))
ya雀无声 17:17:58
我看了很久了,也只能这么理解,郁闷
[雨的节奏][雨的节奏] 17:21:12
你干嘛期待返回什么东西呢
ya雀无声 17:21:32
列表的每一个元素  对应到E1上, 执行后面的expr
[雨的节奏][雨的节奏] 17:21:35
你不要期待它返回什么
对,你主要是看expr要对list里面的元素干啥
ya雀无声 17:22:01
恩,只管他的过程
ya雀无声 17:22:48
豁然开朗。
[雨的节奏][雨的节奏] 17:23:21
[qqimg]oldimg/{DE068692-2930-8E27-622F-E342C6D583E1}.gif[/qqimg]
yes
ya雀无声 17:23:41
其实用repeat 也可以
懂了,哎
[雨的节奏][雨的节奏] 17:24:11
foreach简单点
ya雀无声 17:24:31
多看程序才会用,
ya雀无声 17:26:59
apply这种也是类似,
ya雀无声 17:27:53
这段代码其实很不错,
 楼主| 发表于 2013-6-8 17:41:19 | 显示全部楼层
[linshiyin2]大地 17:41:19
同志们,沿线绘制不规则椭圆怎么搞
和那个花园小路的例子差不多
[linshiyin2]大地 17:42:27
[qqimg]oldimg/{4CB019EE-3E4D-B404-5DEE-2B2E6F85CDEF}.jpg[/qqimg]要这个效果
[qqimg]oldimg/{3E1479A0-8EB1-FD0B-EF85-8642C93EC45E}.jpg[/qqimg]
 楼主| 发表于 2013-6-8 17:57:56 | 显示全部楼层
[004][wkq004]地形图 17:57:56
可以相交?椭圆只能相切才好看
 楼主| 发表于 2013-6-8 18:15:42 | 显示全部楼层
ya雀无声 18:15:42
(setq SS (ssget '((0 . "circle"))))
      )
    (progn

      (repeat (setq I (sslength SS))
    (setq ENAMES (cons (ssname SS (setq I (1- I))) ENAMES))
      )

      (foreach E1 ENAMES
    (setq ELIST (entget E1))
    (setq cen_list(cdr(assoc 10 ELIST)))
     )
 楼主| 发表于 2013-6-8 18:55:09 | 显示全部楼层
[kwok][kwok]巭隼 18:55:09
加机器人为好友也可以搜
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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