| ya雀无声 10:20:08 有没有一种功能,选择的时候按下某一个键,就只能选择指定图层的实体 [simon8001][simon8001]随风 10:22:53 弱弱的问一下 defun    Test (Lst / LstNew)
 这种通用的程序怎么理解 然后写出具体的命令
 [【KAIXIN】] [【KAIXIN】]炫翔 10:27:31 (DEFUN XX(XX)(PRINC XX)
 (PRINC)
 )
 
 (DEFUN C:XX(0
 (XX "炫翔")
 )
 (DEFUN C:XX()(XX "炫翔")
 )
 [qqimg]oldimg/{F414D51C-1845-5402-32A9-B51E52231ABB}.gif[/qqimg]最简单的实例 [simon8001][simon8001]随风 10:30:14 我没写过通用的程序 一般都是专用的 [雨的节奏][雨的节奏] 10:30:36 [qqimg]oldimg/{43F78691-C43F-4CC5-4AB6-6CCA1EBF18B4}.GIF[/qqimg]不就是子程序嘛 [simon8001][simon8001]随风 10:30:49 (defun    Test (Lst / LstNew)(foreach _LstItem Lst
 (if (not (member _LstItem LstNew))
 (setq LstNew (append LstNew (list _LstItem)))
 )
 )
 LstNew
 )
 )
 我在网上找到了这个通用的 不知道应该怎么用 唉! 子程序我写过 [simon8001][simon8001]随风 10:32:17 例子是这个  (1 2 1 2 (1 1) (1 2) (1 1) (1 2))) [pzweng]路人 10:33:02 干嘛的 [simon8001][simon8001]随风 10:33:15 删除重复程序的 删除重复元素的 lockmyeye 编写的 [simon8001][simon8001]随风 10:34:44 不知道怎么将测试用例和这个通用程序结合起来 [雨的节奏][雨的节奏] 10:38:02 (foreach x list(if (not (member x newlist))
 (setq newlist
 (append x (list newlist)))
 newlist)
 [pzweng]路人 10:41:29 (1 2 1 2 (1 1) (1 2) (1 1) (1 2)))需要返回什么样的
 [simon8001][simon8001]随风 10:42:15 (1 2 (1 1) (1 2)) 应该是这样的 [雨的节奏][雨的节奏] 10:42:48 [qqimg]oldimg/{43F78691-C43F-4CC5-4AB6-6CCA1EBF18B4}.GIF[/qqimg]删除表内重复元素、、 [simon8001][simon8001]随风 10:43:05 对 我之前说过的 [pzweng]路人 10:43:39 (defun gxl-delsame (l)(if L
 (cons (car L) (gxl-delsame (vl-remove (car L) (cdr L))))
 )
 )
 ya雀无声 10:47:45 sssetfirst怎么用 看解释看到头晕 [simon8001][simon8001]随风 10:48:32 谢谢你们了 ya雀无声 10:54:12 (lambda (x) ",") 是什么意思 [pzweng]路人 10:54:43 看不懂 加, 比如(1 2 3)变成"1,2,3" [雨的节奏][雨的节奏] 10:55:40 [qqimg]oldimg/{F6EB4040-2A34-DA7F-D185-F5CBFB55A402}.gif[/qqimg] [pzweng]路人 10:56:23 lay是什么样的表 ya雀无声 10:56:56 (setq ss (ssget))(repeat (setq n (sslength ss))
 (setq ent (ssname ss (setq n (1- n))))
 (setq la (cdr (assoc 8 (entget ent))))
 (if (not (member la lay)) (setq lay (cons la lay)))
 ).
 写的真蛋疼,看都看不懂 [vormittag]桔子 10:58:07 [雨的节奏][雨的节奏] 10:58:38 ya雀无声(403872256)  10:58:30(setq ss (ssget))
 (repeat (setq n (sslength ss))
 (setq ent (ssname ss (setq n (1- n))))
 (setq la (cdr (assoc 8 (entget ent))))
 (if (not (member la lay)) (setq lay (cons la lay)))
 )
 这是要干啥? ya雀无声 10:58:58 得到一个 图层列表 [青豆豆1991]夏叶 10:59:21 (defun c:wall() 
   (setq   B (getpoint "
 指定围墙起点:" ))      
   (setq   E (getpoint "
 指定围墙终点:" )) 
  (setq W (getreal"
 输入围墙实地宽度(m)=:")) 
  (setq S (getreal"
 输入绘图比例尺:")) 
  (setq A(angle   B   E)) 
  (setq D(distance   B   E)) 
   (setq A1(- A(/   I 2))) 
   (if(<A1 0)(setq A1(+(*PI 2)))) 
   (setq   B1(polar   B A1 W)   E1(polar   E A1 W)) 
   (command "line "   B   E"")  
   (command "line "   B1   E1"") 
   (command "line "   B   B1"") 
 (command "line "   E   E1"") 
 (setq DM 0) 
 (while (<DM D) 
 (setq   M (polar   B A DM)PM1(polar   M A1 W)) 
 (command"line"   M   M1" ") 
 (setq DM (+DM(* 10 S))) 
 ) 
 (princ) 
)麻烦帮我看一下这个程序哪有问题呢 一直说有语法错误ya雀无声 10:59:33 老迈的思维太恐怖了 [青豆豆1991]夏叶 10:59:51 (defun c:wall() 
   (setq   B (getpoint "
 指定围墙起点:" ))      
   (setq   E (getpoint "
 指定围墙终点:" )) 
  (setq W (getreal"
 输入围墙实地宽度(m)=:")) 
  (setq S (getreal"
 输入绘图比例尺:")) 
  (setq A(angle   B   E)) 
  (setq D(distance   B   E)) 
   (setq A1(- A(/   I 2))) 
   (if(<A1 0)(setq A1(+(*PI 2)))) 
   (setq   B1(polar   B A1 W)   E1(polar   E A1 W)) 
   (command "line "   B   E"")  
   (command "line "   B1   E1"") 
   (command "line "   B   B1"") 
 (command "line "   E   E1"") 
 (setq DM 0) 
 (while (<DM D) 
 (setq   M (polar   B A DM)PM1(polar   M A1 W)) 
 (command"line"   M   M1" ") 
 (setq DM (+DM(* 10 S))) 
 ) 
 (princ) 
)麻烦帮我看一下这个程序哪有问题呢 一直说有语法错误[pzweng]路人 10:59:52 对图层的操作 发一遍就够了 [青豆豆1991]夏叶 11:00:18 oo ya雀无声 11:00:19 " [青豆豆1991]夏叶 11:00:31 嗯? 应该用? [青豆豆1991]夏叶 11:01:27 什么意思 ya雀无声 11:01:59 恩,只是没学到他这样写 [雨的节奏][雨的节奏] 11:02:10 (if(<A1 0)(setq A1(+(*PI 2)))) [pzweng]路人 11:02:14 你的程序的括号的问题 [青豆豆1991]夏叶 11:02:22 括号? [雨的节奏][雨的节奏] 11:02:27 多一个括号 [青豆豆1991]夏叶 11:02:27 什么问题 [雨的节奏][雨的节奏] 11:02:33 (if(<A1 0)(setq A1(+(*PI 2)))) [青豆豆1991]夏叶 11:03:03 不多呀 [pzweng]路人 11:03:16 (defun c:wall () 
  (setq   B (getpoint "
 指定围墙起点:")) 
  (setq   E (getpoint "
 指定围墙终点:")) 
  (setq W (getreal "
 输入围墙实地宽度(m)=:")) 
  (setq S (getreal "
 输入绘图比例尺:")) 
  (setq A (angle   B   E)) 
  (setq D (distance   B   E)) 
  (setq A1 (- A (/   I 2))) 
  (if (< A1 0) 
    (setq A1 (+ (*PI 2))) 
  ) 
  (setq      B1    (polar   B A1 W) 
          E1    (polar   E A1 W) 
  ) 
  (command "line "   B   E "") 
  (command "line "   B1   E1 "") 
  (command "line "   B   B1 "") 
  (command "line "   E   E1 "") 
  (setq DM 0) 
  (while (< DM D) 
    (setq   M  (polar   B A DM) 
            M1 (polar   M A1 W) 
    ) 
    (command "line"   M   M1 " ") 
    (setq DM (+DM (* 10 S))) 
  ) 
  (princ) 
)[雨的节奏][雨的节奏] 11:03:30 看错了 [pzweng]路人 11:03:31 半角与全角的输入状态 [雨的节奏][雨的节奏] 11:03:32 不多 [pzweng]路人 11:03:55 不是多少,是半角与全角的问题 [青豆豆1991]夏叶 11:04:16 哦 你发过来的是正确的? [雨的节奏][雨的节奏] 11:05:18 (defun c:wall () 
  (setq   B (getpoint "
 指定围墙起点:") 
          E (getpoint "
 指定围墙终点:") 
        W (getreal "
 输入围墙实地宽度(m)=:") 
        S (getreal "
 输入绘图比例尺:") 
        A (angle   B   E) 
        D (distance   B   E) 
        A1 (- A (/   I 2)) 
  ) 
  (if (< A1 0) 
    (setq A1 (+ (*PI 2))) 
  ) 
  (setq      B1 (polar   B A1 W) 
      E1 (polar   E A1 W) 
  ) 
  (command "line "   B   E "") 
  (command "line "   B1   E1 "") 
  (command "line "   B   B1 "") 
  (command "line "   E   E1 "") 
  (setq DM 0) 
  (while (< DM D) 
    (setq   M  (polar   B A DM) 
            M1 (polar   M A1 W) 
    ) 
    (command "line"   M   M1 " ") 
    (setq DM (+DM (* 10 S))) 
  ) 
  (princ) 
)[雨的节奏][雨的节奏] 11:05:49 [qqimg]oldimg/{D1F43F3E-EA21-5FA3-AC66-1F4FC702CD26}.jpg[/qqimg] [青豆豆1991]夏叶 11:05:53 这个是正确的? [雨的节奏][雨的节奏] 11:06:04 (command "line"   M   M1 "")[青豆豆1991]夏叶 11:06:09 嗯? 怎么又加了一句? [雨的节奏][雨的节奏] 11:06:19 (command "line"   M   M1 " ")(command "line"   M   M1 "")[pzweng]路人 11:06:27 (defun c:wall () 
  (setq   B (getpoint "
 指定围墙起点:")) 
  (setq   E (getpoint "
 指定围墙终点:")) 
  (setq W (getreal "
 输入围墙实地宽度(m)=:")) 
  (setq S (getreal "
 输入绘图比例尺:")) 
  (setq A (angle   B   E)) 
  (setq D (distance   B   E)) 
  (setq A1 (- A (/   I 2))) 
  (if (< A1 0) 
    (setq A1 (+ (*PI 2))) 
  ) 
  (setq      B1    (polar   B A1 W) 
          E1    (polar   E A1 W) 
  ) 
  (command "line"   B   E "") 
  (command "line"   B1   E1 "") 
  (command "line"   B   B1 "") 
  (command "line"   E   E1 "") 
  (setq DM 0) 
  (while (< DM D) 
    (setq   M  (polar   B A DM) 
            M1 (polar   M A1 W) 
    ) 
    (command "line"   M   M1 "") 
    (setq DM (+ DM (* 10 S))) 
  ) 
  (princ) 
)改好了 [雨的节奏][雨的节奏] 11:06:43 [qqimg]oldimg/{30B35CA4-8B43-A076-7079-9ABC425AA864}.jpg[/qqimg] 估计这样是不同的 [pzweng]路人 11:07:00 用的时候关掉捕捉 ya雀无声 11:07:01 恩 [青豆豆1991]夏叶 11:07:13 好嘞 我试试去 [pzweng]路人 11:07:38 不关闭捕捉会出问题 还有个问题 问题真多 [青豆豆1991]夏叶 11:08:16 啥啊 [pzweng]路人 11:08:19 (defun c:wall () 
  (setq   B (getpoint "
 指定围墙起点:")) 
  (setq   E (getpoint "
 指定围墙终点:")) 
  (setq W (getreal "
 输入围墙实地宽度(m)=:")) 
  (setq S (getreal "
 输入绘图比例尺:")) 
  (setq A (angle   B   E)) 
  (setq D (distance   B   E)) 
  (setq A1 (- A (/   I 2))) 
  (if (< A1 0) 
    (setq A1 (+ (*   I 2))) 
  ) 
  (setq      B1    (polar   B A1 W) 
          E1    (polar   E A1 W) 
  ) 
  (command "line"   B   E "") 
  (command "line"   B1   E1 "") 
  (command "line"   B   B1 "") 
  (command "line"   E   E1 "") 
  (setq DM 0) 
  (while (< DM D) 
    (setq   M  (polar   B A DM) 
            M1 (polar   M A1 W) 
    ) 
    (command "line"   M   M1 "") 
    (setq DM (+ DM (* 10 S))) 
  ) 
  (princ) 
)现在好了 [青豆豆1991]夏叶 11:08:26 这可是我们课本上的程序啊 [pzweng]路人 11:08:27 复制最后一次的 [青豆豆1991]夏叶 11:08:34 哦哦 [雨的节奏][雨的节奏] 11:08:36 (setq os (getvar "osmode"))(setvar "osmode" 0)
 程序前加这句、完事后再加(setvar "osmode" os)
 [pzweng]路人 11:10:24 如果是课本上的程序那就对了 是改错的程序 反面教材 [青豆豆1991]夏叶 11:11:08 没让我们改错啊 是让学习的 [雨的节奏][雨的节奏] 11:11:29 [青豆豆1991]夏叶 11:11:59 我自己输得 没有电子版的 [雨的节奏][雨的节奏] 11:12:23 记得以前有位高手跟我说写程序尽量不要用set [pzweng]路人 11:12:25 嗯,不错,大部分输对了 [青豆豆1991]夏叶 11:12:48 哈哈 [雨的节奏][雨的节奏] 11:12:52 我开始也是照着PDF抄了几十个程序、然后不知不觉就入门了 [青豆豆1991]夏叶 11:13:11 谢谢啊 [flytoday]过^-^客 11:13:24 入门真快 [pzweng]路人 11:14:32 你那是破门而入 [雨的节奏][雨的节奏] 11:14:57  、、我不是去年年中才开始接触lisp的 然后大部分自己想要的程序都在三个月之内写完了、、、后来就是弄着玩了 [flytoday]过^-^客 11:16:04 [青豆豆1991]夏叶 11:16:12 ( defun gcjhs ( dd)( setq dd1 ( fix dd) )
 ( setq dd2 ( 3 ( - dd dd1) 100) )
 ( setq dd2 ( atof ( rtos dd2 2 10) ) )
 ( setq dd3 ( fix dd2) )
 ( setq dd4 ( / dd3 60. 0) )
 ( setq dd5 ( 3 ( - dd2 dd3) 100) )
 ( setq dd6 ( / dd5 3600. 0) )
 ( setq dd7 ( + dd1 dd4 dd6) )
 ( setq dd7 ( - 360 dd7) )
 ( setq dd7 ( / ( 3 dd7 p i) 180) )
 )
 这个呢? 也有问题 [雨的节奏][雨的节奏] 11:16:39 ( setq dd2 ( 3 ( - dd dd1) 100) ) ( setq dd5 ( 3 ( - dd2 dd3) 100) ) 3不是函数 ( setq dd7 ( / ( 3 dd7 p i) 180) ) [青豆豆1991]夏叶 11:17:35 3不是函数? [雨的节奏][雨的节奏] 11:17:38 ( 3 dd7 p i) [青豆豆1991]夏叶 11:17:47 那怎么把2改了呢? [pzweng]路人 11:21:21 青豆豆你仔细对照下书 小妹妹? ya雀无声 11:21:34 sssetfirst [pzweng]路人 11:21:40 有女的学这个? [青豆豆1991]夏叶 11:21:43 这个不是书上的 是复制过来的 女的不能学这个? [青豆豆1991]夏叶 11:22:48 哪 [雨的节奏][雨的节奏] 11:22:49 [qqimg]oldimg/{F6EB4040-2A34-DA7F-D185-F5CBFB55A402}.gif[/qqimg] 女的一般头脑转不过来 [青豆豆1991]夏叶 11:23:12 切 ya雀无声 11:23:19 sssetfirst是不是 只进行选择,不进行操作 [青豆豆1991]夏叶 11:23:23 我才学了几天呀 笑对人生 11:23:52 [青豆豆1991]夏叶 11:24:40 竟挨骂呢 |