明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1384|回复: 7

八方求助啊!!!

[复制链接]
发表于 2005-9-23 09:37 | 显示全部楼层 |阅读模式

冰天雪地裸体跪求啊,祥见question.dwg文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2005-9-23 10:03 | 显示全部楼层

我是一个菜鸟,CAD倒用了好几年,不过Autolisp两个礼拜前才开始学,希望各位高手援助.

 不管怎样也要顶顶顶那么几下啊!!!!

发表于 2005-9-23 10:04 | 显示全部楼层
乱码。
 楼主| 发表于 2005-9-23 10:27 | 显示全部楼层
(defun c:yy()
  (setvar "cmdecho" 0)
  (command "undo" "be")
  (setq lang (getdist "请输入延长值:"))
  (setq lin (entsel "\n请选择要延长的线:"))
  (setq ss (entget (car lin))
        lin_p1 (assoc 10 ss)
        lin_p2 (assoc 11 ss)
        p1 (cdr lin_p1)
        P2 (cdr lin_p2)
        pme (cadr lin))
        pe (osnap "end")
        p1x (car p1)
        P1y (cadr p1)
        pex (car pe)
        pey (cadr pe))
  (if (= px1 pex)
        (if (= p1y pey) (progn (setq ang (angle p2 p1))
                               (setq p3 (polar pe ang leng))
                               (seqt lin_p1_n (cons 10 p3))
                                (setq ss (lubst lin_p1_n lin_p1 ss)))
                       (progn (setq ang (angle p1 p2)) (setq p3 (polar pe ang leng))
                            (setq lin_p2_n (cons 11 p3))
                            (setq ss (subst lin_p2_n lin_p2 ss)))
                       )
                     (progn (setq ang (angle p1 p2)) (setq p3 (polar pe ang leng))
                            (setq lin_p2_n (cons 11 p3))
                            (setq ss (subst lin_p2_n lin_p2 ss))
                     )
         )
(entmod ss)
)
(command "undo" "e")
(setvar "cmdecho" 1)
)
(princ)
)
发表于 2005-9-23 11:06 | 显示全部楼层
冻死你!
发表于 2005-9-23 13:22 | 显示全部楼层
1.四个端点的距离是哪个距离?
其余程序如下:
  1. (defun c:disCir( / ss ent ents lay i r rs item zin)
  2.   (setq zin (getvar "dimzin"))
  3.   (setvar "dimzin" 0)
  4.   (setvar "cmdecho" 0)
  5.   (command "_.purge" "la" "*" "n")
  6.   (setq ss (ssget "x" '((0 . "CIRCLE"))))
  7.   (setq i 0)
  8.   (setq lay 0)
  9.   (repeat (sslength ss)
  10.     (setq ent (ssname ss i))
  11.     (setq ents (entget ent))
  12.     (setq r (cdr (assoc 40 ents)))
  13.     (if (assoc r rs)
  14.       (progn
  15. (setq item (reverse (assoc r rs)))
  16. (setq item (reverse (cons (1+ (car item)) (cdr item))))
  17. (setq rs (subst item (assoc r rs) rs))
  18.       )
  19.       (progn
  20. (setq rs (append rs (list (list r (strcat "mylayer_" (rtos lay 2 0)) 1))))
  21. (command "_.layer" "m" (strcat "mylayer_" (rtos lay 2 0)) "")
  22. (setq lay (1+ lay))
  23.   
  24.       )
  25.     )   
  26.     (command "_.change" ent "" "p" "la" (cadr (assoc r rs)) "")   
  27.     (setq i (1+ i))
  28.   )
  29.   (princ "\n图层\t\t直径\t\t孔数")
  30.   (princ "\n------------------------------")
  31.   (mapcar '(lambda(e) (princ (strcat "\n" (rtos (car e) 2 2) "\t" (cadr e) "\t" (rtos (last e) 2 0)))) rs)
  32.   (setvar "dimzin" zin)
  33.   (textscr)
  34.   (princ)
  35. )
  36. (defun c:sline( / ent slong pt ents pt1 pt2 dis)
  37.   (setq ent (entsel))
  38.   (setq slong (getreal "\n输入延长长度:"))
  39.   (setq pt (cadr ent)
  40. ent (car ent))
  41.   (setq ents (entget ent))
  42.   (setq pt1 (cdr (assoc 10 ents))
  43. pt2 (cdr (assoc 11 ents)))
  44.   (setq dis (distance pt1 pt2))
  45.   (if (< (distance pt pt1) dis)
  46.     (command "_.scale" ent "" pt2 (/ (+ dis slong) dis))
  47.     (command "_.scale" ent "" pt1 (/ (+ dis slong) dis))
  48.   )
  49.   (princ)
  50. )

发表于 2005-9-23 16:13 | 显示全部楼层

延长线

(DEFUN CL ()

(COMMAND "LENGTHEN" "DE" PAUSE)

)

发表于 2005-9-27 16:03 | 显示全部楼层
你可真够贱啊!难得!难得!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-18 19:10 , Processed in 0.442800 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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