乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 48|回复: 3

求助

[复制链接]

7

主题

10

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2003-4-15 16:39:00 | 显示全部楼层 |阅读模式
(defun C:dwx ()
  (setvar "osmode" 0)
  (graphscr)
  (setq oce (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (setq p1 (getpoint "\n基点:"))
  (setq a  (getreal "\n大径:"))
  (cond ((=  a 1) (setq h 4.0) (setq d 3.0) (setq l 10.0) (setq c 0.2))
        ((=  a 2) (setq h 4.0) (setq d 3.0) (setq l 10.0) (setq c 0.2))
        ((> a 2) (setq h 5.0) (setq d 5.0) (setq l 12.0) (setq c 0.4))
        ( princ "\n没有此值")
           )
  (setq p2 (polar p1 (* pi 2) (- (/ d 2) 0.5))
        p3 (polar p2 (* pi 0.25) 0.707107)
        p4 (polar p3 (* pi 0.5) (- l h 0.5))
        p5 (polar p4  pi  (/ (- d a) 2))
        p6 (polar p5 (* pi 0.5) (- h c))
        p7 (polar p6 (* pi 0.583333) (* 1.035276 c))
        p8 (polar p1 (* pi 0.5) l)
        p14(polar p1 pi (- (/ d 2) 0.5))
        p13 (polar p14  (* pi 0.75) 0.707107)
        p12 (polar p13 (* pi 0.5) (- l h 0.5))
        p11 (polar p12 (* pi 2) (/ (- d a) 2))
        p10 (polar p11 (* pi 0.5) (- h c))
        p9  (polar p10 (* pi 0.416667) (* 1.035276 c))
        p15 (polar p4 pi (/ (- d a) 6))
        p16 (polar p6 (* pi 1.5) (* h 0.5) )
        p17 (polar p10 (* pi 1.5) (* h 0.5) )
        p18 (polar p12 (* pi 2) (/ (- d a) 6))           
        )   
               (command "line" p2 p3 p4 p5 p6 p7 p9 p10 p11 p12 p13 p14  "c")
        (command "fillet" "r" 0.5)
        (command "line" p3 p13 "")
        (command "line" p6 p10 "")
        (command "fillet" p15 p16)
        (command "fillet" p17 p18)
        (command "line" p4 p12 "")   
        (command "line" p1 p8 "")
                (setvar "cmdecho" oce)
         (setvar "osmode" 1)
      
  )
同一个程序画出来的图,请教一下是怎么回事!!!!

tixlwgm0yra.jpg

tixlwgm0yra.jpg

回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-4-15 16:45:00 | 显示全部楼层
倒角问题,建议所有倒角直接画出,因为倒角是选择实体是一个比较麻烦的事情,直接画简单多了[br]
回复

使用道具 举报

22

主题

248

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
336
发表于 2003-4-16 08:55:00 | 显示全部楼层
5.3  对象描述双元表及其使用
“双元表”,是AutoLISP特有的表数据类型之一,是一种针对AutoCAD数据库所特有的检索指针,就像是 (EntSel) 函数的返回值那样的数据结构。实际上也可以用 (List) 函数,按这种格式组成自定义的双元表。这种特有的数据结构,是在程序中使用CAGD技术的关键之一。
对于一些编辑命令,在指目标时,所指点位与处理的结果有关,就要在AutoLISP 中应当用双元表来“精确响应”要目标的提示,这也是AutoLISP特有的、相当有实用价值的技巧。这类命令有:DIM、EXTEND、TRIM、FILLET、CHAMFER、DIVIDE、MEASURE等等。下面有几个例子来说明双元表的使用技术:
摘自《Visual LISP程序设计——技巧与范例》
多说一句:这些技术都是早已成熟的方法,但您在一般的书中不会找到,因为作者也不知道,而Help中也没有。其实,在我写的书中,从R12的AutoLISP就已经用大量的篇幅介绍专业程序设计中具体问题的解决方案了,一本书,几乎包括了全部可能的解决方案。
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2003-4-17 08:21:00 | 显示全部楼层

(defun CWX ()
  (setvar "osmode" 0)
  (graphscr)
  (setq OCE (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (setq P1 (getpoint "\n基点:"))
  (setq A (getreal "\n大径:"))
  (cond        ((= A 1)
         (setq H 4.0)
         (setq D 3.0)
         (setq L 10.0)
         (setq C 0.2)
        )
        ((= A 2)
         (setq H 4.0)
         (setq D 3.0)
         (setq L 10.0)
         (setq C 0.2)
        )
        ((> A 2)
         (setq H 5.0)
         (setq D 5.0)
         (setq L 12.0)
         (setq C 0.4)
        )
        (princ "\n没有此值")
  )
  (setq        P2  (polar P1 (* pi 2) (- (/ D 2) 0.5))
        P3  (polar P2 (* pi 0.25) 0.707107)
        P4  (polar P3 (* pi 0.5) (- L H 0.5))
        P5  (polar P4 pi (/ (- D A) 2))
        P6  (polar P5 (* pi 0.5) (- H C))
        P7  (polar P6 (* pi 0.583333) (* 1.035276 C))
        P8  (polar P1 (* pi 0.5) L)
        P14 (polar P1 pi (- (/ D 2) 0.5))
        P13 (polar P14 (* pi 0.75) 0.707107)
        P12 (polar P13 (* pi 0.5) (- L H 0.5))
        P11 (polar P12 (* pi 2) (/ (- D A) 2))
        P10 (polar P11 (* pi 0.5) (- H C))
        P9  (polar P10 (* pi 0.416667) (* 1.035276 C))
        P15 (polar P4 pi (/ (- D A) 6))
        P16 (polar P6 (* pi 1.5) (* H 0.5))
        P17 (polar P10 (* pi 1.5) (* H 0.5))
        P18 (polar P12 (* pi 2) (/ (- D A) 6))
  )
  (command "line" P2 P3 P4 "")
  (command "line" P4 P5 "")
  (setq L4 (entlast))
  (command "line" P5 P6 "")
  (setq L5 (entlast))
  (command "line" P6 P7 P9 P10 "")
  (command "line" P10 P11 "")
  (setq L10 (entlast))
  (command "line" P11 P12 "")
  (setq L11 (entlast))
  (command "line" P12 P13 P13 P14 P2 "")
  (command "fillet" "r" 0.5)
  (command "line" P3 P13 "")
  (command "line" P6 P10 "")
  (if (/= A 5.0)
    (progn
      (command "fillet" (list L4 P4) (list L5 P6))
      (command "fillet" (list L10 P10) (list L11 P12))
      (command "line" P4 P12 "")
      )
  )
  (command "line" P1 P8 "")
  (setvar "cmdecho" OCE)
  (setvar "osmode" 1)
)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-7 19:19 , Processed in 1.067120 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表