找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1298|回复: 3

[求助] [求助]:致晓东~~~~

[复制链接]
发表于 2002-11-8 23:49:44 | 显示全部楼层 |阅读模式

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

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

×
1。晓东网站是常青树,难得。
2。两年前就跟晓东请教关于在lisp函数内自己的DCL内预览dwg图形的问题。可惜一直没有解决。
3。现在看到杨少提供的tools.zip,不知能否解决。
4。也许相关的, 你写的:“可以实现,附件里面的代码演示了如何做,你必须首先必须注册你的VB程序在注册表里面,然后,在VLISP程序中调用附件里面的test函数。或者在你的VBA程序中调用Module1.test宏,看看效果。“


可惜我的钱不够,先预支点行吗,回头我再还 ,:)
我真的挺着急。这对我很重要。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-11-8 23:57:46 | 显示全部楼层

Re: [求助]:致晓东~~~~

最初由 daziran 发布
[B]1。晓东网站是常青树,难得。
2。两年前就跟晓东请教关于在lisp函数内自己的DCL内预览dwg图形的问题。可惜一直没有解决。
3。现在看到杨少提供的tools.zip,不知能否解决。
4。也许相关的, 你写的:“可以实现,... [/B]


别在用DCL了,用OBJECTDCL吧。

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

使用道具 举报

 楼主| 发表于 2002-11-9 00:59:52 | 显示全部楼层

一个画折断线的小程序

1。关于OBJECTDCL能多说几句吗?可以用在lisp内吗?
2。以下是我以前写的一个小程序,用于画折断线(有个转折符号),为的跟晓东要分 :)

;○画折断线函数
;○画折断线命令

(setq $BRKH 4 ;折符号高
      $lwid3  ;细实线宽
      $pi90 1.5707  ;90度
)

;********************
;○画折断线函数

;参数: pts 两种形式:
;    ⑴ 三个点: 依次为 sp pt ep
;    ⑵ 两个点: 依次为 sp ep(pt取缺省值:sp,ep的中点)
;                                             
;                                        ├ d ┤
;                                        │   p2                  
;                                        │   /           ─────┬
;                                        │ / │   p4               │
;                          sp ──────/   pt   /────── ep │$BRKH
;                                       p1    │ /                  │
;                                              /          ─────┴
;                                             p4                  
;
(defun LBREAK (pts / sp ep  p1 p2 p3 p4 pt w d ang)
   (setq sp (car pts) pt (cadr pts) ep (caddr pts))
   (if (not ep)
       (setq ep pt pt (list (/ (+ (car sp) (car ep)) 2.0)
                            (/ (+ (cadr sp) (cadr ep)) 2.0)
                      )
       )
   )
   (setq ang (angle sp ep))
   (setq d (/ $BRKH 4.0))
   (setq p1 (polar pt (+ ang pi) d))
   (setq p2 (polar pt (+ ang $pi90) (* 2 d)))
   (setq p3 (polar pt (- ang $PI90) (* 2 d)))
   (setq p4 (polar pt ang d))
   (setq w  $lwid3)
   (command "pline" sp "w" w w p1 p2 p3 p4 ep "")   ;画折断线
)  

;○画折断线命令

(defun C:LB (/ sp ep s p1 p2 p3 p4 pt w d ang)
   (setq sp (getpoint "\n始点:"))           ;始点sp
   (if sp (progn
      (setq ep (getpoint sp "\n终点:"))       ;终点ep
      (if ep (progn
        (setq ang (angle sp ep))
        (grdraw sp ep -1 1)                        ;提示线sp-ep
        (setq s t)
        (while s
          (setq pt (getpoint "\n折断符号位置(直接回车放中间):"))
          ;折断符号位置点pt
          (cond ( (not pt)                 ;pt为nil时,令其为中点
                  (setq pt (polar sp ang (/ (distance sp ep ) 2.0)))
                  (setq s nill)
                )
                (t (setq pt (inters sp ep pt (polar pt (+ ang $pi90) 100) nil))
                   (if (< (abs (- (distance sp pt) (distance ep pt)))
                          (* 0.9 (distance sp ep)))
                       (setq s nil)
                   )
                )        ;有pt时,令pt<=pt到sp-ep的垂足
          )  ;end cond
        )    ;end while  当pt在sp-ep线外时,重新输入
        (setq d (/ $brkh 4.0))
        (setq p1 (polar pt (+ ang pi) d))
        (setq p2 (polar pt (+ ang (* 0.5 pi)) (* 2 d)))
        (setq p3 (polar pt (+ ang (* 1.5 pi)) (* 2 d)))
        (setq p4 (polar pt ang d))
        (setq w  $lwid3)
        (grdraw sp ep -1 1)         ; 删除提示线
        (setq oblip (getvar "BLIPMODE"))
        (SETVAR "BLIPMODE" 0)
        (command "pline" sp "w" w w p1 p2 p3 p4 ep "")   ;画折断线
        (SETVAR "BLIPMODE" oblip)
      ));end if1
   ));end if2
   (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-11-9 01:02:42 | 显示全部楼层
你用OBJECTDCL,搜索论坛看看,贴过很多图。WIN软件的对话框风格都可以在LISP上使用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 03:45 , Processed in 0.349109 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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