乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 48|回复: 4

[求助]真的需要这样的lisp程序,请帮助编写,先谢了(已解决)

[复制链接]

8

主题

43

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2004-10-9 09:59:00 | 显示全部楼层 |阅读模式
LISP程序编写: 1、提供w1.dat
内容:
(20 15 10 8)
(23 19        6 18)
(45        30 12 13)
(22        17        18 56)
(33        20        45 50)
(5        40        34 27)
2、带DCL对话框,对话框含有:确定按扭、取消按扭、并且能显示w1.dat各行的内容,可供选择每一行的内容
3、当选择对话框w1.dat任一行的内容时,要求将该行的4个数据,分别写在绘图
中的已知的4个点上,字高为5。
4、已知的4个点座标:pt1(0,0) pt2(0,20) pt3(0,40) pt4(0,60)
要求都写详细了,请各位朋友帮助解决,不胜感激!!!!!
回复

使用道具 举报

8

主题

43

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2004-10-9 11:06:00 | 显示全部楼层
我相信咱们版的实力的,再等等
祝福各位热心的人
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-10-9 12:56:00 | 显示全部楼层
  1. (defun c:test (/ dcl_id dclfn f datalst line data)
  2.    (vl-load-com)
  3.    (setq dclfn (vl-filename-mktemp "test.dcl"))
  4.    (setq f (open dclfn "w"))
  5.    (mapcar '(lambda (x) (write-line x f))
  6.      '("Test: dialog { label = "选择数据";"
  7.          ":list_box { key = "data"; width = 20; height = 10;}"
  8.          "ok_cancel;"
  9.          "}"
  10.          )
  11.      )
  12.    (close f)
  13.    (setq dcl_id (load_dialog dclfn))
  14.    (if (null (new_dialog "Test" dcl_id))
  15.        (exit)
  16.        )
  17.    (setq f (open (findfile "w1.dat") "r"))
  18.    (setq datalst nil)
  19.    (while (setq line (read-line f))
  20.        (setq datalst (cons line datalst))
  21.        )
  22.    (close f)
  23.    (setq datalst (reverse datalst))
  24.    (start_list "data")
  25.    (mapcar 'add_list datalst)
  26.    (end_list)
  27.    (action_tile
  28.        "data"
  29.        "(if (= $reason 4)
  30.                                                      (progn
  31.                                                          (setq data (nth (atoi $value) datalst))
  32.                                                          (done_dialog 1)
  33.                                                      )
  34.                                              )"
  35.        )
  36.    (action_tile
  37.        "accept"
  38.        "(setq data (nth (atoi (get_tile "data")) datalst))(done_dialog 1)"
  39.        )
  40.    (if (= (start_dialog) 1)
  41.        (AddTexts (read data))
  42.        )
  43.    (unload_dialog dcl_id)
  44.    (vl-file-delete dclfn)
  45.    (princ)
  46.    )
  47. ;;;;----------------------------------
  48. (defun AddTexts  (txtlst / mspace ptlst)
  49.    (setq  mspace (vla-get-modelspace
  50.      (vla-get-activedocument (vlax-get-acad-object))
  51.      )
  52.   )
  53.    (setq  ptlst
  54.    (mapcar 'vlax-3d-point '((0 0 0) (0 20 0) (0 40 0) (0 60 0)))
  55.   )
  56.    (mapcar '(lambda (pt txt) (vla-addtext mspace txt pt 5.0))
  57.      ptlst
  58.      txtlst
  59.      )
  60.    (vlax-release-object mspace)
  61.    )
回复

使用道具 举报

8

主题

43

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2004-10-9 13:45:00 | 显示全部楼层
好高兴啊!!!!
非常谢谢alin

                               
登录/注册后可看大图

回复

使用道具 举报

8

主题

43

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2004-10-14 15:59:00 | 显示全部楼层
为alin版主献花以表感谢!!!!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-20 15:52 , Processed in 1.634563 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表