明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1447|回复: 5

[LISP群(2)] 2013-07-12 明经 AutoLISP 编程②(177027547) 群聊记录:秋枫大哥的博客http://fresco.yo2.cn/登陆不上去了。现在

 关闭 [复制链接]
发表于 2013-7-12 09:58:59 | 显示全部楼层 |阅读模式
[smartstar][smartstar]方舟 09:58:59
秋枫大哥的博客http://fresco.yo2.cn/登陆不上去了。现在只能通过快照看一下首页了。
[smartstar][smartstar]方舟 10:00:00
博客网站要收费了,大哥的博客估计是免费的。也不知道秋枫大哥有没有备份。
 楼主| 发表于 2013-7-12 10:37:54 | 显示全部楼层
[xyz8]咫尺天涯 10:37:54
大家好:请教个问题
[xyz8]咫尺天涯 10:38:30
怎样判断cad中是否有命令,如:t1
(defun c:tt ()
  (if (= (c:t1) nil);检查是否有T1命令
    (c:t2);不存在执行t2
    (c:t1);存在执行t1
  )
  (princ)
)
[xyz8]咫尺天涯 10:39:11
这样写不对吧
[xyz8]咫尺天涯 10:41:36
烦请哪位大师帮下忙
[xyz8]咫尺天涯 10:42:56
就是运行程序,然后判断是不是有t1命令,有执行t1,没有就执行t2,
 楼主| 发表于 2013-7-12 20:35:39 | 显示全部楼层
[ZZXXQQ] 20:35:39
(defun c:tt ()
  (if (= (type c:t1) 'SUBR) (c:t1));检查是否有T1命令有就执行
  (if (= (type c:t2) 'SUBR) (c:t2));检查是否有T2命令有就执行
  (princ)
)
 楼主| 发表于 2013-7-12 23:16:41 | 显示全部楼层
Apprécier la vie 23:16:41
参数类型错误: point: nil
哪位大神知道,给解释一下呀
[ZZXXQQ] 23:20:16
点类型错
Apprécier la vie 23:20:39
不是太明白,我是个小白
新来的
怎么改呀
[vormittag]桔子 23:22:05
先改名片
Apprécier la vie 23:22:14
哦看
哦了
[inl] 23:23:28
改好了吗
[inl] 23:24:01
(defun c:tx ()
  (setvar "cmdecho" 0 )
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  (setq dd (getdist "  正方形边长:"))
  (if (null dd) (setq dd 10))
  (setq num (getint " 起始编号 :"))
  (if (null num)(setq num 1))
  (setq dd2 (/ dd 5))
  (setq pt1 (getpoint "  第一点:"))
  (while (/= pt1 nil)
      (command "donut" 0 dd2 pt1 "")
    (setq pt2 (getpoint pt2 "  第二点:"))
    (command "line" pt1 pt2 "")
    (command "polygon" 4 "e" pt2 (polar pt2 0 dd))
    (setq en1 (entlast))
    (command "text" "m" (polar (polar pt2 0 (/ dd 2)) (/ pi 2) (/ dd 2)) (/dd 2) 0 (itoa num))
    (setq en2 (entlast))
    (setq pp1 pt2)
    (setq pp2 (polar pp1 0 dd))
    (setq pp3 (polar pp2 (/ pi 2) dd))
    (setq pp4 (polar pp2 (/ pi 2)dd))
    (setq pp_0 (polar pp1 (/ pi 2)(/ dd 2 )))
    (setq pp_90 (polar pp1 0 (/ dd 2 )))
    (setq pp_180 (polar pp2 (pi 2) (/ dd 2)))
    (setq pp_270 (polar pp3 pi (/ dd 2)))
    (setq pp pt2)
    (setq ang (angle pt1 pt2))

    (cond ((and (> ang (* pi 0.5)) (< ang pi )) (setq pp pp2))
      ((and (> ang pi) (< ang (* pi 1.5))) (setq pp pp3))
      ((and (> ang (* pi 1.5)) (< ang (* pi 2))) (setq pp pp4))
      )
    (cond ((= ang 0)  (setq pp pp_0))
      ((= ang (/ pi 2)) (setq pp pp_90))
      ((= ang pi)   (setq pp pp_180))
      ((=ang (** pi 1.5 ))  (setq pp pp_270))
      )
    (command "move" en1 en2 "" pp pt2)
    (setq num (1 + num))
    (setq  pt2 (getpoint "  第二点:"))
    )
  (setvar "osmode" os)
  (prin1)
  )
我在书上抄的程序,就有这个问题
也不知道怎么下手,
 楼主| 发表于 2013-7-12 23:40:25 | 显示全部楼层
[ZZXXQQ] 23:40:25
(defun c:tx ()
 (setvar "cmdecho" 0 )
 (setq os (getvar "osmode"))
 (setvar "osmode" 0)
 (setq dd (getdist "\n 正方形边长:"))
 (if (null dd) (setq dd 10))
 (setq num (getint "\n起始编号 :"))
 (if (null num)(setq num 1))
 (setq dd2 (/ dd 5.0))
 (while (setq pt1 (getpoint "\n 第一点:"))
  (command "donut" 0 dd2 pt1 "")
  (setq pt2 (getpoint pt1 "\n 第二点:"))
  (command "line" pt1 pt2 "")
  (command "polygon" 4 "e" pt2 (polar pt2 0 dd))
  (setq en1 (entlast))
  (command "text" "m" (mapcar '+ pt2 (list (/ dd 2.0) (/ dd 2.0))) (/ dd 2.0) 0 (itoa num))
  (setq en2 (entlast))
  (setq pp1 pt2)
  (setq pp2 (polar pp1 0 dd))
  (setq pp3 (polar pp2 (/ pi 2) dd))
  (setq pp4 (polar pp2 (/ pi 2) dd))
  (setq pp_0 (polar pp1 (/ pi 2)(/ dd 2.0)))
  (setq pp_90 (polar pp1 0 (/ dd 2.0)))
  (setq pp_180 (polar pp2 (/ pi 2) (/ dd 2.0)))
  (setq pp_270 (polar pp3 pi (/ dd 2.0)))
  (setq pp pt2)
  (setq ang (angle pt1 pt2))
  (cond
   ((and (> ang (* pi 0.5)) (< ang pi)) (setq pp pp2))
   ((and (> ang pi) (< ang (* pi 1.5))) (setq pp pp3))
   ((and (> ang (* pi 1.5)) (< ang (* pi 2))) (setq pp pp4))
  )
  (cond ((= ang 0)  (setq pp pp_0))
   ((= ang (/ pi 2)) (setq pp pp_90))
   ((= ang pi) (setq pp pp_180))
   ((= ang (* pi 1.5)) (setq pp pp_270))
  )
  (command "move" en1 en2 "" pp pt2)
  (setq num (1+ num))
 )
 (setvar "osmode" os)
 (prin1)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 07:15 , Processed in 0.195389 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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