找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: lsjjm

[编程申请]:"跑道形状" 画图命令

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-10-3 21:34:37 | 显示全部楼层
再加个Rotate命令能满足要求吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-10-4 05:56:21 | 显示全部楼层
最初由 eachy 发布
[B]再加个Rotate命令能满足要求吗? [/B]


不是不可以.
我的初衷可能大家还没高清楚: 画一个任意角度的"跑道形"(实际上就是矩形倒一个半径等于上下对边距离一半的圆角), .
这个操作, 稍懂得一些CAD知识的人都会画. 一步一步来呗. 但我的目的是自定义一个命令(编一个小程序)把这些操作步骤更简捷, 方便. 其操作状态和"感觉"就象画椭圆一样. 诸位说的方法, 我不是没试过, 但至今都不太理想.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-7 03:50:36 | 显示全部楼层
画椭圆也至少要点3下,加旋转要点4下,快不到哪里去啊,编程通过长短轴来定义,方法也是差不多的,只是参照点转换一下而已。
不同的想来只是动态显示而已,这个编程也不难做到,加一段就可以。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-10-7 04:57:52 | 显示全部楼层
最初由 陌生人 发布
[B]画椭圆也至少要点3下,加旋转要点4下,快不到哪里去啊,编程通过长短轴来定义,方法也是差不多的,只是参照点转换一下而已。
不同的想来只是动态显示而已,这个编程也不难做到,加一段就可以。 [/B]



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

使用道具 举报

发表于 2003-10-7 09:15:01 | 显示全部楼层
1 看你前面的帖子,估计你也有一定的编程水平,这个对你来说应该不难的,是不是懒啦?:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-11 21:08:57 | 显示全部楼层
嘿嘿
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-10-12 08:41:36 | 显示全部楼层
对不起, 看不了RAR文件. 892K 也不大, 能否直接贴出来? 谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-10-12 11:55:45 | 显示全部楼层
编译的fas不能直接贴出的,Lisp源码的话本想给加分的^_^
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-10-13 14:29:19 | 显示全部楼层
最初由 陌生人 发布
[B]加分有什么好处?能用来赌么? [/B]

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

使用道具 举报

发表于 2003-10-13 17:26:03 | 显示全部楼层
我觉得不要把问题复杂化了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-13 20:55:13 | 显示全部楼层
我是新来的,长见识
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-10-13 22:05:38 | 显示全部楼层
最初由 eachy 发布
[B]编译的fas不能直接贴出的,Lisp源码的话本想给加分的^_^ [/B]


分和币都要 :)


;;;
;;;很象画"椭圆".
;;;需要xd_api
;;;命令名称 aeo
;;;Esc和右键退出,其他键和左键确认.


  1. (defun c:aeo (/ ang box dis dis1 ent p1 p2 p3 w box-p1 make-pl myerr old)
  2.   (defun box-p1 (dis dis1 / box h p w x y)
  3.     (setq w (/ (abs (- dis dis1)) 2.)
  4.           h (/ (min dis dis1 ) 2.)
  5.           p (xdrx_midp p1 p2)
  6.           x (car p)
  7.           y (cadr p)
  8.           box (list (list (- x w) (- y h)) (list (+ x w) (- y h))
  9.                     (list (+ x w) (+ y h)) (list (- x w) (+ y h))
  10.               )
  11.     )
  12.     (apply
  13.       'xdrx_pointsrotate
  14.       (cons p (cons (if (> dis dis1)
  15.                       ang
  16.                       (+ ang (* 0.5 pi))
  17.                     ) box
  18.               )
  19.       )
  20.     )
  21.   )
  22.   (defun make-pl (box)
  23.     (setq box (mapcar
  24.                 '(lambda (x)
  25.                    (cons 10 (list (car x) (cadr x)))
  26.                  )
  27.                 box
  28.               )
  29.     )
  30.     (entmake (append
  31.                (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '
  32.                      (100 . "AcDbPolyline") '(90 . 4) '(70 . 1)
  33.                )
  34.                box
  35.              )
  36.     )
  37.     (entlast)
  38.   )
  39.   (defun myerr (msg)
  40.     (if ent
  41.       (entdel ent)
  42.     )
  43.     (xdrx_end)
  44.     (princ)
  45.   )                                       
  46. ;;; main
  47.   (xdrx_begin)
  48.   (setq old *error*
  49.         *error* myerr
  50.   )
  51.   (if (and
  52.         (setq p1 (getpoint "\nFirst:"))
  53.         (setq p2 (getpoint p1 "--Next:"))
  54.         (setq ang (angle p1 p2)
  55.               dis (distance p1 p2)
  56.               w t
  57.         )
  58.       )
  59.     (while w
  60.       (setq p3 (grread t 10))
  61.       (cond
  62.         ((= (car p3) 5)
  63.           (setq dis1 (* 2 (abs (xdrx_p2ldist (cadr p3) p1 p2))))
  64.           (setq box (box-p1 dis dis1))
  65.           (if (not ent)
  66.             (setq ent (make-pl box))
  67.           )
  68.           (mapcar
  69.             '(lambda (x y)
  70.                (xdrx_polyline_setPointAt ent x y)
  71.              )
  72.             '(0 1 2 3)
  73.             box
  74.           )
  75.           (mapcar
  76.             '(lambda (x y)
  77.                (xdrx_polyline_setBulgeAt ent x y)
  78.              )
  79.             '(0 1 2 3)
  80.             '(0. 1. 0. 1.)
  81.           )
  82.         )
  83.         ((= (car p3) 11)
  84.           (if ent
  85.             (entdel ent)
  86.           )
  87.           (setq w nil)
  88.         )
  89.         ((member (car p3) '(3 2))
  90.           (setq w nil)
  91.         )
  92.         (t
  93.         )
  94.       )
  95.     )
  96.   )
  97.   (setq *error* old)
  98.   (xdrx_end)
  99.   (princ)
  100. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-13 22:44:05 | 显示全部楼层
哈哈,好样的。氛围有些热烈起来了哦:)
不过说到效果,你的“肯定比上面演示的好,自己就不做了”我可不敢苟同,但是我也不会说一定比你的好。大家作图过程都是点3个点,虽然你的更接近椭圆画法,但是我的其实也是,只是在画长度轴的时候同时控制角度和长度,而你的角度是通过短轴来确定。我是按照自己喜欢并觉得合理的方式作图,至于别人用起来怎么样,要看他们的习惯了。

另外,我理解发问者的要求,他是要一个视图,我的也做到了。你的只是画了跑道,还没做视图处理呢。
程序的最末,本来还有对画出椭圆的长度,面积统计,但是因为是视图,这个部分在修改的时候去掉了。

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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-10-14 00:22:42 | 显示全部楼层
最初由 陌生人 发布
[B]哈哈,好样的。氛围有些热烈起来了哦:)
不过说到效果,你的“肯定比上面演示的好,自己就不做了”我可不敢苟同,但是我也不会说一定比你的好。大家作图过程都是点3个点,虽然你的更接近椭圆画法,但是我的其实也是... [/B]


他要的是引祥图,当然只要画个线.

画椭圆时是没长短轴之分的.拽过头了,长轴就变为短轴.

你的要精确的框出一块来,麻烦.
我只要求你画一个平放或竖放着的框出来.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-20 12:22 , Processed in 0.195850 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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