明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1649|回复: 15

求两端可以缩短指定长度轮流插入块的lsp

[复制链接]
发表于 2020-9-17 10:52:52 | 显示全部楼层 |阅读模式
50明经币
本帖最后由 xj6019 于 2020-9-17 21:53 编辑

拜托start4444老师解答一下吧,麻烦了。
发现几个问题,重新发帖,麻烦一起考虑一下好吗。之前问题表述的太乱了,整理一下想法,重新说明:分两种情况下使用,代码分开处理,大体的处理方式如下:
1,新作图情况下:
(defun  C:TT()
(两端-50  最大间隔380  块名);不用输入直接设置好,计算要求,参照5楼附件说明,但不再考虑单独设置S键。
(TTS)
(插入完成后删掉那条线)
)

(defun  TTS();子函数1 ,线为直线,圆,多段线,样条曲线,一次支持全了吧,方便以后使用
( 创建列表)
(列表插入)
);结束
我有好几个固定块名的块经常插入,函数要方便套用.

子函数1  里面包含  子函数2(等分函数)



2.平时改图的情况下;
(defun  C:TT( ) ; ;
(最大间隔数350);;
;;这里设置可以输入吧,默认间隔350,但是代码里面计算的时候要+30,就是设置一个350左右的可浮动数值空间,可输入是为了偶尔的特殊情况,后期使用中视情况再自行调整。
(选择块1   选择块2)
(插入还是复制都行   子函数2的列表);参照之前的等分函数套用就行,代码已经贴在11楼了,列表剔除最两端的两个点
(列表插入或者复制)




其中第二种情况实现的是,不再输入具体的间隔数,也就是不用再提前计算了,这样使用起来要方便的多。麻烦start4444老师了,拜托。
今天想法有点乱,开始自己也没有一个大的方向,一会一个想法,自己都快懵了。后来逐渐才思路固定下来。为想法没固定前,发的乱七八糟思想不统一的各个回复和造成的麻烦,在此表示抱歉。
表述完毕!
静等佳作!!

















最佳答案

查看完整内容

试试看,应该差不多的
发表于 2020-9-17 10:52:53 | 显示全部楼层
试试看,应该差不多的

本帖子中包含更多资源

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

x

评分

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

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2020-9-17 10:57:31 | 显示全部楼层
搞成类似这样就行,子函数弄好后,我经常插入的好几个固定的块,每个块我后期单独套一遍子函数,用好几个命令单独调用直接插入。


(defun c:NM (/ twd jgd bname1 i en ent plist p1 plast obj zd zdnew pn1 pn2)
        (vl-load-com)
        (setq twd  50
        jgd 350       
        bname1  "BLOCK BS1"
        (setq en (car (entsel "\n請選取多段線:")) ent (entget en) plist (vertexs en) p1 (car plist) plast (last plist))
        (if (= twd nil) (setq twd 50)) (if (= jgd nil) (setq jgd 350))
(WOSHISHI)
)

(defun  WOSHISHI()
        (setq obj (vlax-ename->vla-object  en))
        (setq zd (abs (- (vlax-curve-getDistAtPoint obj p1) (vlax-curve-getDistAtPoint obj plast))) zdnew (- zd (* twd 2)))
        ................
...................
..............

回复

使用道具 举报

 楼主| 发表于 2020-9-17 11:23:41 | 显示全部楼层
间隔计算的方法感觉好像不是很合适吧,麻烦start4444老师确认一下,比方说我一般的间距都需要在350左右,我设置的时候把最大间距设置成380,但是发现平分的时候,代码不是按照最少的间隔数等分开的呢,也麻烦调一下代码好吗,需要设置好最大间隔后,等分数为最最小的等分数。
回复

使用道具 举报

发表于 2020-9-17 12:01:23 | 显示全部楼层
感觉好复杂,你发个示意图看看
回复

使用道具 举报

 楼主| 发表于 2020-9-17 12:25:56 | 显示全部楼层
start4444 发表于 2020-9-17 12:01
感觉好复杂,你发个示意图看看

好的,请参照说明文件,可以抛开以前那个帖子,后来我发现,我的需求和那个其实还是有不少区别的。

本帖子中包含更多资源

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

x

点评

是日文的···  发表于 2020-9-17 12:49
回复

使用道具 举报

 楼主| 发表于 2020-9-17 13:02:49 | 显示全部楼层
start4444 发表于 2020-9-17 12:01
感觉好复杂,你发个示意图看看

打开显示正常吗,看一下截图

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2020-9-17 13:25:33 | 显示全部楼层
start4444 发表于 2020-9-17 12:01
感觉好复杂,你发个示意图看看

如果可以的话,多支持几样线,线,斜线,圆弧,多段线,样条曲线,最好一次满足。如果非常麻烦的话,最少要满足线和圆弧,这两种是最经常遇到的。
回复

使用道具 举报

发表于 2020-9-17 13:45:45 | 显示全部楼层
你以前不是已经有个贴说是等分问题的,和这个差不多了

点评

今天确实有点太啰嗦太啰嗦了,之前那个等分的,我看了看之前的帖子和代码,又想起来了,那个不是用的插入,而是复制的第一个选择的对象,好像不是刚才回复的想的那样。你帮我做成等分的子函数来,插入直接套列表吧  发表于 2020-9-17 15:01
回复

使用道具 举报

 楼主| 发表于 2020-9-17 14:03:11 | 显示全部楼层
start4444 发表于 2020-9-17 13:45
你以前不是已经有个贴说是等分问题的,和这个差不多了

是的,两种情况都分析了一下,之前的那个帖子适合在原图基础上改图的时候用,已经两端各有块了,然后中间等分插入,好处是不局限一定要有直线,但是对圆弧的状况无效。发现这个帖子后,开始没细想,后来发现,如果按照这个方式设定好计算方法,那么就不用脑袋计算这段间距需要分几段,然后再输入等分数了,还能处理圆弧时等分的情况,这个代码更适合做新图的时候,在四周插入孔的块,另外这个这个代码做出来后,还是要和之前的那个代码配合使用,各补所长,各有各自情况下的优势吧,或者是不是有更好的方式,我现在还没想到。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-27 10:37 , Processed in 0.188470 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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