找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 890|回复: 8

[求助]:求一完整的分段用的lsp程序

[复制链接]
发表于 2005-4-17 17:28:01 | 显示全部楼层 |阅读模式

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

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

×
;;;本程序应用于直线、曲线、圆、圆弧的定数、定距等分。



command:??↙

请选择要分段的线:

请选择分段的起始点:

请输入本次分段的长度:

请选择分几段同样的距离:<1>

请输入本次分段的长度:

请选择分几段同样的距离:<1>

...

请输入本次分段的长度:↙





;;;程序结束。 



说明:

1.分段方向由鼠标或输入的距离控制(画线时输入的正值表示程序行进方向为X或Y的正值方向,负值反之;分圆弧时正值则可以表示逆时针方向;也可以像平时画线一样通过检测鼠标的控制方向和输入的数值来决定分段程序的走向)

2.要求命令执行一步后立即显示输出,这样能够尽快发现操作的正确与否。

3.分段尺寸超出直线或圆弧的尺寸范围后提示用户输入有误或请求修改,也可报错退出。

4.最好能建议用户修改默认的点样式,或程序自动修改,以便能清楚地看到分段点。



注:分段线中包含直线与圆弧元素,可能分段程序难以区分,所以在此程序制作前期没有考虑将多段线的分段溶入到本程序的功能之中。



使用后效果示例:见附图,图形格式为autocad2000。期待程序操作过程如上。



如果对于能满足本要求的程序有任何问题请指教,我将与作者共同修改思路。


本人的联系邮箱为  lzws03@163.com
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-4-17 21:45:54 | 显示全部楼层
与偶的“折断波浪线程序”有点像。
测试:
[php]
;;;加载通用函数
;;;下载:http://www.xdcad.net/forum/showthread.php?s=&threadid=325268
(load "xyp_lib")

;;;线分段 <lzws03>
(defun c:test ()
  (cmdla0)
  (setvar "osmode" 0)
  (setvar "pdmode" 99)
  (setvar "pdsize" 50)
  (princ "\n请选择要分段的线 : ")
  (setq e (car (entsel "\n请选择要分段的线 : ")))
  (setq        leng (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e))
        pt0  (vlax-curve-getPointAtDist (vlax-ename->vla-object e) 0)
        ll   0
  )
  (command "_undo" "be")
  (mkla "标记" 1)
  (while (< ll leng)
    (setq NO1 (ureal 1 "" "\n请输入本次分段的长度" NO1)
          NO2 (ureal 1 "" "\n请选择分几段同样的距离" NO2)
    )
    (repeat (fix no2)
      (setq ll        (+ ll NO1)
            pt2        (vlax-curve-getPointAtDist
                  (vlax-ename->vla-object e)
                  ll
                )
      )
      (command "point" pt2)
    )
  )
  (command "_undo" "E")
  (cmdla1)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-18 08:18:15 | 显示全部楼层
怎样移去自定义的某个指定菜单(用LSP实现)?

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

使用道具 举报

 楼主| 发表于 2005-4-18 15:59:36 | 显示全部楼层
多谢版主,您回答得可真细。我下载回去好好学习一下,再次谢谢您。

程序已经试用了。版主请看:
加载"xyp_lib"提示出错。如下:

;;;
正在打开 AutoCAD 2004 格式的文件。
正在重生成模型。

加载建模 DLL。

加载即插即用的 CAD 组件...
注册 CAD 组件命令: C:VDMaker ...
注册 CAD 组件命令: C:VDPack ...
注册 CAD 组件命令: C:VDConfig ...
发现即插即用的 CAD 组件: VDMaker.Dll, 已加载...
釉仄舳?橹械?CAD 组件...
命令:
命令:
AutoCAD Express Tools Copyright ?2002-2003 Autodesk, Inc.

CADAddOnTools Menu loaded.
AutoCAD 菜单实用程序已加载。; 错误: LOAD 失败: "xyp_lib"

    WlTools制图工具 (第-2004.08.01版,正式版,有效期:2005.08.02) 已经安装
文字修改大师 Ctt(V9.2-2004.01.01)加载成功 上海冶金设计院 周海兵 coolzhb@163.com
命令:

;;;

是不是与以上哪个冲突呢?



但是打开CAD后再次加载显示加载成功,然后调入您帮我编那个程序,工作正常。
我对这程序有些不理解:
1.如果所分长度超出界限则程序自动中断,程序能够做到;如果我只想分圆弧或直线的一部分,我不知道如何让程序停下来。(难道非要按“ESC”中断程序?)能不能把分段距离输入为0,则程序结束?
2.能否加上选择分段起始点功能?

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

使用道具 举报

发表于 2005-4-21 12:49:09 | 显示全部楼层
“距离输入为0”与按“ESC”中断是等效的。

关于加载错误的问题,具体机器情况不一,所有程序上载之前已通过测试,其他朋友也未提出类似问题,可能是机器问题或加载的东西太多,不排除程序冲突的情况。

关于“能否加上选择分段起始点功能”的要求,由于程序的通用性不强就不再修改了,实在需要,可以通过手动打断来实现。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-22 14:04:36 | 显示全部楼层
版主能否简单说一下“机器问题”大约是哪类的问题? 通用函数功能 大家都在用,我只能在这里干看着,实在感觉不怎么好!
我换台机子再试一下,您有时间也帮我考虑一下吧
谢谢您编的程序!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-4-22 15:55:08 | 显示全部楼层
刚才把那个 可视化图纸软件 vdmaker 给卸了,再开CAD就正常了。
版主,我必须每次这样加载吗?还有就是那“TEST000”菜单还是加载不上,菜单组有它了,但屏幕上什么也显示不出来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-22 17:23:25 | 显示全部楼层
把下载的东东全部放到cad搜索目录下就可以了。
只要加载 test000.mns 菜单就会自动加载相关程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-22 06:09 , Processed in 0.191051 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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