乐筑天下

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

[LISP]

[复制链接]

6

主题

16

帖子

3

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-8-7 08:49:00 | 显示全部楼层 |阅读模式
版主,你好,在一个闭合体用以下命令可按顺时针或逆时针取得物体,有什么程式可知道是顺时针或是逆时针?
(SETQ A (CAR (ENTSEL"请选择LWPOLYLINE")))
(COMMAND ".EXPLODE" A)
(SETQ B (SSGET &quot"))
回复

使用道具 举报

57

主题

466

帖子

8

银币

中流砥柱

Rank: 25

铜币
694
发表于 2004-8-7 14:46:00 | 显示全部楼层
看不懂你的意思???在一个闭合体用以下命令可按顺时针或逆时针取得物体???
         (SETQ A (CAR (ENTSEL "请选择LWPOLYLINE")));提示用户通过指定一个点来选择单个对象
         (COMMAND ".EXPLODE" A);炸开
         (SETQ B (SSGET "P"));选择上次创建的选择集
-----------------------------------------------------
用 PEDIT 命令可以知道多段线的方向
命令: pe PEDIT 选择多段线或 [多条(M)]:
输入选项
[闭合(C)/合并(J)/宽度(W)/[U]编辑顶点(E)/[/U]拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)
/放弃(U)]: *取消*
回复

使用道具 举报

6

主题

16

帖子

3

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-8-7 18:08:00 | 显示全部楼层
黑侠,你好,当知道起始点PT1,终止点PT2,知道凸度时,有什么程式可以计算出圆弧的半径及中心点?
我想设计锣机加工程式,现遇到此困难,有劳帮忙解决,多谢各位。
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-8-7 19:18:00 | 显示全部楼层
;;输入:PT1 PT2 为节点,b为凸度;输出: r为半径,ctr为圆心
(defun GetRadnCtr (PT1 PT2 b / d a)
         (setq        d (distance PT1 PT2)
        a (angle PT1 PT2))
         (setq r (abs (/ d (sin (/ (atan (* b 4)) 2)) 2)))
         (if (>= b 0)
                         (setq ctr (polar (polar PT1
                                                 a
                                                 (/ d 2.0))
                                                 (+ a (/ pi 2))
                                                 (sqrt (- (* r r) (* d d 0.25)))))
                         (setq ctr (polar (polar PT1
                                                 a
                                                 (/ d 2.0))
                                                 (- a (/ pi 2))
                                                 (sqrt (- (* r r) (* d d 0.25)))))
                         )
;;;         (command "point" ctr)
         (princ)
         )
回复

使用道具 举报

57

主题

466

帖子

8

银币

中流砥柱

Rank: 25

铜币
694
发表于 2004-8-7 19:59:00 | 显示全部楼层
呵呵,你是在写 CNC 加工中心的程序吗?
那你现在是在搞顺时针方向和逆时针方向喽
回复

使用道具 举报

6

主题

16

帖子

3

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-8-8 13:33:00 | 显示全部楼层
是呀,有点困难,需各位大虾帮忙;现程式进入到提取数据阶段,遇到上述问题,感谢各位支持。
回复

使用道具 举报

6

主题

16

帖子

3

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-8-8 14:23:00 | 显示全部楼层
ALIN,你好,我已将你的程式下载并作更改后多次调试已可正式使用,感谢;主要更改求R的公式,现将内容公式如下:
(defun C:RCtr (/ d a)
         (setq pt1 (getpoint "请输入第一点:"))
         (SETQ PT2 (GETPOINT "\n请输入第二点:"))
         (SETQ B (GETREAL "\n输入凸度:"))
         (setq d (distance PT1 PT2)
                                                         a (angle PT1 PT2))
         (setq d1 (/ d 2.0))
         (setq h         (* d1 (abs b)))
         (setq r (/ (+ (* d1 d1) (* h h)) (* 2.0 h)))
         ;(setq r (abs (/ d (sin (/ (atan (* b 4)) 2)) 2)))
         (if (>= b 0)
                         (setq ctr (polar (polar PT1
                                                 a
                                                 (/ d 2.0))
                                                 (+ a (/ pi 2))
                                                 (sqrt (- (* r r) (* d d 0.25)))))
                         (setq ctr (polar (polar PT1
                                                 a
                                                 (/ d 2.0))
                                                 (- a (/ pi 2))
                                                 (sqrt (- (* r r) (* d d 0.25)))))
                         )
                 (PRINC R)
         (PRINC "\n")
         (PRINC CTR)
;;;         (command "point" ctr)
         (princ)
         )
回复

使用道具 举报

6

主题

16

帖子

3

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-8-8 14:26:00 | 显示全部楼层
我很喜欢上这个网,望大家多交流,共同进步.
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-23 10:14 , Processed in 3.388049 second(s), 68 queries .

© 2020-2025 乐筑天下

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