QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4068|回复: 2
收起左侧

[求助] 求下列LISP程序加个DCL对话框的思路和方法

[复制链接]
发表于 2013-3-14 11:43:18 | 显示全部楼层 |阅读模式 来自: 中国安徽合肥

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
本帖最后由 woaishuijia 于 2013-3-14 13:24 编辑
4 e! R4 P/ r; j% y
' u# ^' a) l6 T1 J0 {4 b     ;输入数值调整作图十字光标轴线的不同角度
  1. (defun C:nap (/ ang)
    9 x' D' g8 v' N# Q
  2.   (setvar "cmdecho" 0)   ;关闭命令响应
    * i9 i: w  ?5 ^$ ^1 ]
  3.   (setvar "blipmode" 0)
    3 X2 P: a& A$ Y& {
  4.   (setq ang (getreal "\n请输入角度:"))6 X" j: o# `7 P/ U
  5.   (if (= 0 ang)
    # ?) M: u) l* j3 \, n  O% e
  6.     (progn
    9 k/ j# y- j2 g/ @" o
  7.       (setvar "snapang" 0)  ;系统变量snapang默认为0
    7 y% s( N* Y8 y3 j
  8.       (princ "\n输入角度为系统默认十字光标轴线角度")
    : g( X4 c6 \# [  o$ k
  9.       (princ). d6 A. G$ ~  E2 _$ O7 V. N
  10.     )/ d% L8 m  S  R. y( Q! }
  11.     (setvar "snapang" (* ang (/ pi 180)));将计算的值赋给系统变量
    - w' i1 G: b# f
  12.   )/ c  b6 {5 B% t) [
  13.   (princ)2 M3 m  V, u% O' X( s7 |
  14. )7 ?& t! V3 }# c6 i- y
  15. (prompt "\n<命令 nap > 程序设计 作者 ") ;END
    0 @2 w' {5 {5 Q' G3 R: [
复制代码
发表于 2014-5-9 15:45:03 | 显示全部楼层 来自: 中国台湾
感谢 yinchuan99001 分享程序!
 楼主| 发表于 2015-12-17 09:18:52 | 显示全部楼层 来自: 中国安徽合肥
本帖最后由 yinchuan99001 于 2015-12-17 09:51 编辑
& C' J9 p4 Y3 |! S& ~7 f" x' K# z9 m, g" J/ N' o* Q% Z3 j
/*对话框*/- c  F9 [; L) {& Y; g: a* P
shizi:dialog{& W  a& |  G6 @0 o6 T9 N, E
label="十字光标参数化设置";7 ^" P% ]9 o: y: D
:row{
  J4 H: k  K* Z0 \:boxed_radio_column{) B/ ?& M3 C  g
label="图像预览";1 r! F- u( Q6 r2 ]" D
:image_button{
2 ~8 |1 H/ f; {" C3 |0 Skey="Kimage";
" ]1 {3 d( M  E% Scolor=-2;) p/ B( C8 K2 f0 q; u1 A
width=50;
) R& i; R' J9 N# U2 kaspect_ratio=0.66;
# c* i. L( ^" P3 _" I4 M/ K}}}& ]0 Z- ?  ?5 r4 H$ T
:row{9 k( d+ B7 @9 N
:edit_box{label="角度";key="ang" ;}
8 d& q2 K; E! c0 l7 K& f8 D" }8 o9 j, ~1 w
}: }5 k0 N4 ^0 ^0 o& `1 E( g5 e
spacer_1;; q. P! S' a" c# K: r
ok_cancel;
5 r8 e* @# V' D1 a$ W* ]}/ p. E$ o4 `) B# @
1 x( y' Q" }9 z  U4 f2 C9 g" ?
/*说明此程序仅供学习之用,将附页源程序拷贝到CAD安装目录下的SUPPORT文件内,加载后命令行输入szg。*/
1 `7 p; r' V6 k. ^  ~8 Q(defun C:szg ()- U2 I$ d6 M& l% i
  (setvar "cmdecho" 0)
4 c- X- d: T( R: B# q1 p3 n  (dcl_tuxiang)0 p2 `0 O5 o. g  s
  (princ)
9 K5 d7 d# c4 c# P" E; o, A)
9 K& @/ X6 j' ^* ]  Q(prompt "\n<命令szg> 程序设计 作者 yinchuan99001 2015-12-15");END
: R5 G; m. w  H9 G, C;调用对话框子程序
7 K2 s! N9 e" \2 {6 m& A% {(defun dcl_tuxiang ()
8 e/ W8 R# R# ]% r+ ]& ^  (setq dcl_id (load_dialog "十字光标.DCL"))
7 C3 N% U0 v; M+ `- I$ f  (new_dialog "shizi" dcl_id)
) x1 i+ {1 }* r& O  V: d, ]& A  (show_sld "Kimage" "十字");图像位置在AutoCAD安装目录support
: b" c  x3 A' v3 d  k  (set_tile "ang" "0")9 k- X: w: H  w$ N, W9 H9 u: y
  (action_tile "Kimage" "(tu_xiang)")% Y) a! }: E1 G. Y
  (action_tile "accept" "(ok_ang)(done_dialog 1)"): K5 h( T) e$ u% j" R6 S
  (setq dd (start_dialog))
. n0 g! B, F1 b' R' T0 x( c  (if (= dd 1)
! V, {* p# C9 o. q/ x! b: s$ r   (nap)        ; 调用子程序(nap)
, n2 m6 Y) e' X* c  )
" ]( o! N: U; X1 q" K)
2 X  T. O4 \; U% d* ~4 };图像显示
5 p; `0 B% F; l' P) B: R6 n2 g(defun tu_xiang        ()
4 d5 v1 I8 a+ s* _0 }  (show_sld "Kimage" "十字");图像位置在AutoCAD安装目录support
  D, `$ z& k& a                                        7 Q8 M, ]: k0 N5 q' Q$ x, F5 G
), }, ~' X8 y+ q! B6 @
;子程序ok_ang
* p0 |, m# E7 `7 i6 c# k  V(defun ok_ang ()" M" S1 C6 ?. y/ C  e' a: H
  (setq ang (atof (get_tile "ang")))
1 \9 W/ D, G9 h) s: Y1 m+ f5 ^
1 I* B/ b* b9 u)3 s( ]; x5 L( x7 Y
0 h' ]$ [2 M. T! A/ \4 x
;两个自变量图像处理" b4 n+ p! q" h/ }9 k
(defun show_sld        (key sld)
: {2 ^0 f% \& J+ J6 D0 p! F  (setq x (dimx_tile key))! w0 Z+ Y; B' b$ t
  (setq y (dimy_tile key))1 T$ k# M& l' ~, M) V; k' e7 ^! U7 z
  (start_image key)) ~7 }  V9 I2 _0 N. m" U
  (fill_image 0 0 x y -2)
- ^: A) N4 f9 N: {" r9 p4 ~9 |$ R  (slide_image 0 0 x y sld)
* m9 _# g. w2 m) _. e, f6 b  (end_image)0 E' D% Z! b! ^+ F4 I: W+ b. k
)
- m# i" Z# M% H  M6 [/ K;子程序nap% y2 J5 b5 k6 R. v
(defun nap ()* S) B8 q$ y! M+ [* y3 O+ p0 A
  (setvar "cmdecho" 0)
9 a8 |& ]4 {& Y; V, @- D  (setvar "blipmode" 0)6 v5 G& @- t3 M- F) w/ [
  (if (= 0 ang)
: N, t, J2 K$ B' h: e2 ]    (progn
# Q  M; _2 o+ O/ C2 U      (setvar "snapang" 0)
$ p2 {. D! [9 g6 ^: y    )
* j' |7 K: |2 R, f* a    (setvar "snapang" (* pi (/ ang 180)))1 n& [# D) K+ h4 Q
  )
7 t5 f8 x2 t" w  `) q. })/ d9 F2 |2 W3 `, m1 g: q# o
' C9 y' L: p* T0 j8 c5 h
6 l1 \+ J# y) c
% g- i/ B. D7 T0 L
解铃还须系铃人,上述lisp仅供学习LISP语言的同仁们参考,有不足或不对的地方请大家指正。 (若有引用,请注明引用地址和作者)
9 d7 {# ]' f- |
& w; Y8 h5 |; i9 v% L# z) E$ U3 J  ^8 y

' F/ q& h* N6 [7 _& ]. ^5 k) Z$ z8 j( w( ~
十字.JPG

十字光标lisp程序.rar

1.19 KB, 下载次数: 9

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

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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