找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 743|回复: 9

[每日一码] 3点创建UCS

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-3-17 13:08:45 | 显示全部楼层 |阅读模式

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

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

×
  1. (defun _3PUcs (pt1 pt2 pt3 / Done OS)
  2.   (setq Done nil
  3.         OS   (getvar "OSMODE")
  4.   )
  5.   (setvar "OSMODE" 0)
  6.   (if (not pt3)
  7.     (setq pt3 (polar pt1 (+ (angle pt1 pt2) #pb2) 10.0))
  8.   )
  9.   (if (and (> (distance pt1 pt2) 0.001)
  10.            (> (distance pt1 pt3) 0.001)
  11.            (> (distance pt2 pt3) 0.001)
  12.       )
  13.     (progn (command "._Ucs" "_3Point" pt1 pt2 pt3) (setq Done T))
  14.   )
  15.   (setvar "OSMODE" OS)
  16.   Done
  17. )


评分

参与人数 1D豆 +5 收起 理由
yufeng37 + 5 很给力!经验;技术要点;资料分享奖!

查看全部评分

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

已领礼包: 604个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-3-17 14:02:10 | 显示全部楼层
本帖最后由 marting 于 2018-3-17 14:03 编辑

看代码,没给PT3时候才执行到那,应该是随便一个实数(别是0或者PI的整数倍)就行,计算不在PT1 PT2上的任意点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3731个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 4806个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 217个

财富等级: 日进斗金

发表于 2018-7-13 12:38:55 | 显示全部楼层
本帖最后由 yufeng37 于 2018-7-13 14:21 编辑

感谢楼主提供3点ucs,我最近经常旋转图纸,故将楼主的3点ucs和plan结合,出来的2点转图纸。代码如下,请大家斧正:


(defun c:as ()
  (setq *error*_bak *error*)  
  (setq *osmode_bak (getvar "osmode"))
  (setq *vs (getvar "viewsize"))
  (setvar "osmode" 1023)
  (command "_.undo" "be")
  (setq pt1 (getpoint "选取原点:"))
  (setq pt2 (getpoint pt1 "\n 选取X轴上的点:"))
  (_3PUcs pt1 pt2 pt3)  
  (setq pt4 (getvar "viewctr"))
  (command "_plan" "C")
  (command "zoom" "c" pt4 *vs)
  (command "_.undo" "end")
  (setvar "osmode" *osmode_bak)
  (setvar "cmdecho" 1)
  (setq *error* *error*_bak)
  (princ)
  )

(defun _3PUcs (pt1 pt2 pt3 / Done OS)
  (setq Done nil
        OS   (getvar "OSMODE")
  )
  (setvar "OSMODE" 0)
  (setq #pb2 (* 0.5 pi))
  (if (not pt3)
    (setq pt3 (polar pt1 (+ (angle pt1 pt2) #pb2) 10.0))
  )
  (if (and (> (distance pt1 pt2) 0.001)
           (> (distance pt1 pt3) 0.001)
           (> (distance pt2 pt3) 0.001)
      )
    (progn (command "._Ucs" "_3Point" pt1 pt2 pt3) (setq Done T))
  )
  (setvar "OSMODE" OS)
  Done
)

(defun *error* (msg)
    (princ "\n 程序错误中断执行!")
    (princ (strcat "\n" "end"))
    (command "_.undo" "end")
    (command "_.undo" "1")
    (setvar "osmode" *osmode_bak)
    (setvar "cmdecho" 1)
    (setq *error* *error*_bak)
    (princ)
  )

(prompt "*******<c:AS>********")
(princ)




复制代码

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 14:09 , Processed in 0.192448 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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