明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 37902505

[讨论] 如何沿着直线左往右画等距偏移的圆

[复制链接]
 楼主| 发表于 2020-11-26 11:13:09 | 显示全部楼层
start4444 发表于 2020-11-6 10:48
(defun c:tt5 (/ ang p1 p2)
(setq p1 (getpoint"\n>>>选择点1:") p2 (getpoint p1"\n>>>选择点2:") ang ( ...

你好,大哥,想再请教下,如果再出圆的基础上,再出多一行块,能不能实现的?

点评

上示意图,出什么块?  发表于 2020-11-26 19:39
回复

使用道具 举报

 楼主| 发表于 2020-11-27 16:02:13 | 显示全部楼层
37902505 发表于 2020-11-26 11:13
你好,大哥,想再请教下,如果再出圆的基础上,再出多一行块,能不能实现的?

比如,在之前点1到点2的基础上,再加一排块,上传了块KK文件名

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2020-11-27 16:05:29 | 显示全部楼层
taoyi0727 发表于 2020-11-6 13:36
点1到点2是直线?多段线?还是鼠标点2下?
点1到点2都是水平的?没有斜的?
有斜的是哪个点做为基准?

大哥,能否在之前点1到点2的基础上,再加一排块,上传了图片和块KK文件名,麻烦赐教,解决后金币送上,谢谢

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2020-11-27 16:06:06 | 显示全部楼层
37902505 发表于 2020-11-26 11:13
你好,大哥,想再请教下,如果再出圆的基础上,再出多一行块,能不能实现的?

麻烦赐教,解决后金币送上,谢谢
回复

使用道具 举报

发表于 2020-11-27 21:08:44 | 显示全部楼层
37902505 发表于 2020-11-27 16:05
大哥,能否在之前点1到点2的基础上,再加一排块,上传了图片和块KK文件名,麻烦赐教,解决后金币送上,谢 ...

(defun c:tt (/ ang len n name nn pt pt1 pt2)
        (if (and
                                (setq pt1 (getpoint "\n第1点"))
                                (setq pt2 (getpoint pt1 "\n第2点"))
                        )
                (progn
                        (setq ang (angle pt1 pt2))
                        (setq len (distance pt1 pt2))
                        (setq n (fix (/ len 100)))
                        (setq pt1 (polar pt1 (- ang (/ pi 2)) 40))
                        (setq nn 0)
                        (repeat n
                                (setq pt (polar pt1 ang (* 100 (setq nn (1+ nn)))))
                                (entmake (list '(0 . "CIRCLE") (cons 10 pt) (cons 40 10)))
                                (setq pt (polar pt (- ang (/ pi 2)) 70))
                                (setq name (entmake (list '(0 . "INSERT") (cons 2 "kk") (cons 10 pt))))
                                (vla-Rotate (vlax-ename->vla-object (entlast)) (vlax-3D-point pt) ang)
                        )
                )
        )
        (princ)
)
回复

使用道具 举报

 楼主| 发表于 2020-11-28 08:17:24 | 显示全部楼层
taoyi0727 发表于 2020-11-27 21:08
(defun c:tt (/ ang len n name nn pt pt1 pt2)
        (if (and
                                (setq pt1 (getpoint "\n第1点"))

这里有个问题,就是插入的块,得事先图里面有才有效果,在执行的过程中能不能改插入外部“块文件”的形式?
回复

使用道具 举报

发表于 2020-11-28 11:55:02 | 显示全部楼层
37902505 发表于 2020-11-28 08:17
这里有个问题,就是插入的块,得事先图里面有才有效果,在执行的过程中能不能改插入外部“块文件”的形式 ...

(defun c:tt (/ ang len n name nn pt pt1 pt2)
        (if (and
                                (setq pt1 (getpoint "\n第1点"))
                                (setq pt2 (getpoint pt1 "\n第2点"))
                        )
                (progn
                        (if (not (tblsearch "block" "kk"))
                                (progn
                                        (command "INSERT" "E:\\桌面\\kk1.dwg" 1 1 1 0)
                                        (entdel (entlast))
                                )
                        )
                        (setq ang (angle pt1 pt2))
                        (setq len (distance pt1 pt2))
                        (setq n (fix (/ len 100)))
                        (setq pt1 (polar pt1 (- ang (/ pi 2)) 40))
                        (setq nn 0)
                        (repeat n
                                (setq pt (polar pt1 ang (* 100 (setq nn (1+ nn)))))
                                (entmake (list '(0 . "CIRCLE") (cons 10 pt) (cons 40 10)))
                                (setq pt (polar pt (- ang (/ pi 2)) 70))
                                (setq name (entmake (list '(0 . "INSERT") (cons 2 "kk") (cons 10 pt))))
                                (vla-Rotate (vlax-ename->vla-object (entlast)) (vlax-3D-point pt) ang)
                        )
                )
        )
        (princ)
)
用了个command,不想用VL写插入块了,麻烦
路径自己改,文件名和块名不能一样

评分

参与人数 1明经币 +1 收起 理由
37902505 + 1 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2020-11-28 14:15:44 | 显示全部楼层
37902505 发表于 2020-11-26 11:13
你好,大哥,想再请教下,如果再出圆的基础上,再出多一行块,能不能实现的?

已搞定,打扰大哥了
回复

使用道具 举报

 楼主| 发表于 2020-11-28 14:32:31 | 显示全部楼层
taoyi0727 发表于 2020-11-28 11:55
(defun c:tt (/ ang len n name nn pt pt1 pt2)
        (if (and
                                (setq pt1 (getpoint "\n第1点"))

大哥,新手,怎么转币给你呀,加不了你?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-17 19:01 , Processed in 0.178252 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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