找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 825|回复: 7

[求助] [求助]:大家来编一个五角星程序

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

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
大家来编一个五角星程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-3-9 21:51:52 | 显示全部楼层
什么意思?有什么用?有什么要求?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-9 22:28:29 | 显示全部楼层
似乎没什么难度,像我这种初学者也问题不大。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-10 16:44:00 | 显示全部楼层

谁能完善程序,给五角星能填充上实体颜色

;谁能完善程序,给五角星能填充上实体颜色
(defun c:5poly()
  (setq os (getvar "osmode")
        cmdcho (getvar "cmdecho"))
  (setvar "osmode" 0)
  (setvar "cmdecho" 0)
  (tsc)
  (setq pt1 (getpoint "\n插入点"))
  (setq pt2 (polar pt1 (angtof "-108") (sc 75.6836)))
  (setq pt3 (polar pt2 (angtof "36.00") (sc 75.6836)))
  (setq pt4 (polar pt3 pi (sc 75.6836)))
  (setq pt5 (polar pt4 (angtof "-36.00") (sc 75.6836)))
  (command "pline" pt1 pt2 pt3 pt4 pt5 "c" )
  (setvar "osmode" os)
  (setvar "cmdecho" cmdcho)
)
;比例因子
(defun tsc()
(if (= tscale nil)
(setq tscale 1)
)
(initget 6)
(setq input (getreal(strcat "\n输入比例因子<"
                            (rtos tscale)
                            ">")))
(if input
  (setq tscale input)
)
)

;比例放大或缩小

(defun sc(x)
  (* x tscale)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-10 23:23:30 | 显示全部楼层
[php]
;;;加载通用函数
;;;下载:http://www.xdcad.net/forum/showthread.php?s=&threadid=325268
(load "xyp_lib")
;;;“伪”五角星程序
(defun c:test (/ pt1 s1)
  (cmdla0)
  (command ".undo" "BE")
  (jzhz)
  (setq        pt1 (getpoint "\n五角星中心点 : ")
        hh  (ureal 1 "" "\n高度" hh)
        CO  (ureal 1 "" "\n颜色" CO)
  )
  (command "text" "j" "mc" pt1 hh "" "★")
  (setq s1 (entlast))
  (command "chprop" s1 "" "c" (fix CO) "")
  (command ".undo" "E")
  (cmdla0)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-3-12 14:13:57 | 显示全部楼层

Re: 谁能完善程序,给五角星能填充上实体颜色

最初由 xxming 发布
[B];谁能完善程序,给五角星能填充上实体颜色
(defun c:5poly()
  (setq os (getvar "osmode")
        cmdcho (getvar "cmdecho"))
  (setvar "osmode" 0)
  (setvar "cmdecho" 0)
  (tsc)
  (setq pt1 (getpoint "\n?.. [/B]


你这个是正五边形吧?

临时写了一个

[php]
;;;BY Aeo
(defun c:wjx( / ang cen k p1 p2 p3 pts r)
(if(and(setq cen(getpoint "\n中心点 "))
        (setq r(getdist "\n半径"cen))
        (setq ang (* 0.1 pi)
               k (* r(/ (sin(* pi 0.2))(cos(* pi 0.2))))
               pts '("c")
        )
    )
   (progn
    (repeat 5
      (setq p1(polar cen ang r)
            p2(polar p1(+ ang pi(* pi 0.1))k)
            p3(polar p1(- (+ ang pi) (* pi 0.1))k)
            pts(append (list p3 p1 p2) pts)
            ang(+ ang(* pi 0.4))  ;;72度
      )
    )
    (apply 'command (cons "pline" pts))
  ))
  (entlast);;you can hatch the last-ename
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-3-12 15:29:20 | 显示全部楼层
n角星
[php]
;;;By Aeo
(defun c:xin( / ang ang0 ang1 cen gg k no p1 p2 p3 pts r)
(if(and(setq no(getint "\n几角星: "))
        (or(> no 4)(prompt "\n请大于4"))
        (setq cen(getpoint "\n中心点 "))
        (setq r(getdist "\n半径"cen))
        (setq ang0(/ pi no 0.5))
        (setq gg (- 1(cos ang0))
              k  (* r(/ gg (sin ang0)))
              ang (/ (- pi ang0 ang0)2)
              ang1 ang
              pts '("c")
        )
    )
   (progn
    (repeat no
      (setq p1(polar cen ang r)
            p2(polar p1(+ ang pi ang1)k)
            p3(polar p1(- (+ ang pi) ang1)k)
            pts(append (list  p1 p2) pts)
            ang(+ ang ang0)  
      )
    )
    (apply 'command (cons "pline" pts))
  ))
  ;(entlast)       ;;you can hatch the last-ename
  (princ)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-14 10:07:40 | 显示全部楼层
很好用没想到cad也可方便的画星形了。要是能用多边形边长来决定星形大小就更好了,老大要是能加入控制n角星内角半径可调就更好了。看它沉底了我顶上去。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 00:40 , Processed in 0.184593 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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