明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1924|回复: 9

[基础] 抓點功能的问题

[复制链接]
发表于 2011-3-12 22:13:11 | 显示全部楼层 |阅读模式
(setq p1(getpoint))
(setq p2(getpoint))
(command"line" p1 p2 "")


假設我現在要畫一條直線
我希望在畫第一點的時候可以自動抓"mid中點"
在點選第2點的時候,可以自動抓點"per垂直點"請問我要怎麼寫呢?

假设我现在要画一条直线
我希望在画第一点的时候可以自动抓点"mid中点"
在画第二点的时候,可以自动抓点"per垂直点"
请问我该怎么修改才对呢??
发表于 2011-3-12 22:22:26 | 显示全部楼层
本帖最后由 Andyhon 于 2011-3-12 22:23 编辑

(setvar "OsMode" 2)
(setq p1 (getpoint))
(setvar "OsMode" 128)
(setq p2 (getpoint))
(setvar "OsMode" 0)
(command"line" p1 p2 "")
;; (setvar "OsMode" 167)
 楼主| 发表于 2011-3-13 08:16:56 | 显示全部楼层
謝謝你的幫助
osmode  2 是中點,128是垂直點
167是什麼啊???

請問,是不是還有別的抓點方式啊
之前好像有看別人用過
垂直 _per
相切_tan
发表于 2011-3-13 09:05:10 | 显示全部楼层
167是什麼啊???
(1+2+4+32+128)

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-3-13 09:41:42 | 显示全部楼层
是囊括了以上五種抓點方式嗎?
发表于 2011-3-13 09:49:03 | 显示全部楼层
本帖最后由 Andyhon 于 2011-3-13 09:49 编辑

設成 167 調試一下唄
 楼主| 发表于 2011-3-13 10:05:47 | 显示全部楼层
恩,我測試之後,得確是包函了這五種方式
今天又學到了一個活用的方式了,謝謝你喔

另外,我說的那個  "_per"  "_tan"  這種的你知道嗎?
 楼主| 发表于 2011-3-13 10:12:52 | 显示全部楼层
下面這是我的程式,但是有一個缺點。
就在定義完"第一點"之後,會設定抓點模式為"只抓垂直點"
如果這個時候按"esc"離開之後,原本習慣用的抓點模式就會被取代
不知有沒有什麼方法可以讓我按了esc但是又不會發生這種情況呢


(defun c:m1()
  (setq oldosmode (getvar "osmode"))
  (setq ss(ssget))
  (setq pt1 (getpoint"\n第一基點<退出>"))
  (setvar "osmode" 128)
  (setq pt2 (getpoint"\n第二基點<退出>" pt1))
  
  (if (and pt1 pt2)
       (progn
          (setq mpt1 (polar pt1 (angle pt1 pt2)(* 0.5(distance pt1 pt2))))
          (setq mpt2 (polar mpt1 (+ (* 0.5 pi)  (angle pt1 pt2)) 10));;點選兩個鏡射點
          (command "mirror" ss "" mpt1 mpt2 "N")
          (setvar "osmode" oldosmode)
       );pr
  );if
(prin1)
)

发表于 2011-3-13 13:26:10 | 显示全部楼层
請參考論壇老帖中有討論過的Error函數
发表于 2013-3-12 10:25:14 | 显示全部楼层
学习啦!基础呀!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-27 04:12 , Processed in 0.233250 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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