明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1168|回复: 4

autolisp绘制金刚石图案

[复制链接]
发表于 2012-12-29 09:03:51 | 显示全部楼层 |阅读模式
第一次运行时,绘制出的图形是正确的,再次运行时图形就不完整了,不知怎么回事?下面是源代码
(defun c:stone ()
  (setq a 500   b 500   r 100)
  (setq n 25   angl (/ (* pi 2) n))
  (setq i 0)   
  (while (< i n)
    (setq j (1+ i))
    (while (< j n)
      (command "pline" (list (+ a (* r (sin (* i angl)))) (- b (* r (cos (* i angl)))))
               (list (+ a (* r (sin (* j angl)))) (- b (* r (cos (* j angl)))))
               "c")
      (setq j (1+ j))
    )
    (setq i (1+ i))
   )
)


发表于 2012-12-29 10:25:22 | 显示全部楼层
运行结果挺壮观的!
发表于 2012-12-29 11:05:56 | 显示全部楼层
把变量置为局部变量,生成图元建议用entmake,速度会快n倍
  1. (defun c:tt (/ a b r n angl i j)
  2.   (setq pt (getpoint "\n请指定绘图中点:"))
  3.   (if pt
  4.     (progn
  5.       (setq r (getreal "\n请输入图形半径<100>:"))
  6.       (if (null r)(setq r 100.))
  7.       (setq a (car pt) b (cadr pt))
  8.       (setq n 25 angl (/ (* pi 2) n))
  9.       (setq i 0)
  10.       (while (< i n)
  11.   (setq j (1+ i))
  12.   (while (< j n)
  13.     (entmake (list '(0 . "LINE")
  14.        '(100 . "AcDbEntity")
  15.        '(100 . "AcDbLine")
  16.        (cons 10
  17.              (list (+ a (* r (sin (* i angl))))
  18.              (- b (* r (cos (* i angl))))
  19.              )
  20.        )
  21.        (cons 11
  22.              (list (+ a (* r (sin (* j angl))))
  23.              (- b (* r (cos (* j angl))))
  24.              )
  25.        )
  26.        '(210 0. 0. 1.)
  27.        )
  28.     )
  29.     (setq j (1+ j))
  30.   )
  31.   (setq i (1+ i))
  32.       )
  33.     )
  34.   )
  35. )


 楼主| 发表于 2012-12-29 14:44:44 | 显示全部楼层
仲文玉 发表于 2012-12-29 11:05
把变量置为局部变量,生成图元建议用entmake,速度会快n倍

用entmake速度就是快,不知我出错的原因是否就没把变量设为局部变量的原因?
发表于 2012-12-29 14:45:58 | 显示全部楼层
是的,楼上正解。
正如楼上所说,用entmake好得多,我比较了下快近20倍!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-2 18:07 , Processed in 0.174343 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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