乐筑天下

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

新手请教! 请帮忙找找错误! 为什么运行时提示有错误???

[复制链接]

5

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
27
发表于 2003-10-30 16:37:00 | 显示全部楼层 |阅读模式
附带我的程序和里面用到的图块! 程序目的是 方便出图存档,用户点一下图框右下角,就可以自动取出图名和图号,生成.txt 文件.     请大家帮忙看看哪里有毛病!    多谢!
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2003-10-30 16:44:00 | 显示全部楼层
DCL????
回复

使用道具 举报

36

主题

201

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
345
发表于 2003-10-30 16:56:00 | 显示全部楼层
没DCL文件呢!
回复

使用道具 举报

5

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
27
发表于 2003-10-30 16:59:00 | 显示全部楼层
先不用考虑dcl行吗?   主要先试试程序可用否?!   
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:cy11svwbm3i.dcl 
下载次数:0  文件大小:1.63 KB  售价:2银币 [记录]
下载权限: 不限 以上或 Vip会员   [开通Vip]   [签到领银币]  [免费赚银币]

回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2003-10-31 08:00:00 | 显示全部楼层
;;p1 p2 p3 p4好像位置不對
;;用户出图拆打程序
;;sunke.lsp
(defun C:SUNKE ()
  (graphscr)
  (setq OCE (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (setq C (entsel "\nSelect the block to beat:"))
  ;;提示用户选择一个需要拆打的图块
  (setq E (entget (car C)))                ;查询一下插入图块的对象数据库    《-----------程序好像只能运行到这里
  (setq E1 (cdr (assoc 2 E)))                ;取出图块名称 ;LUCAS
  (setq        L '("A0"    "A1"    "A1L"   "A1-S"  "A2"    "A2L"   "A2-S"
            "A3"    "A3L"   "A3-S"  "A4"    "A4-S"  "BG"    "ML"
           )
  )
  ;;======>原来的程序此处少一个括号
  ;;将图块名称写入一个序列
  (setq I 0)
; (repeat 14                                ;共14种格式的图框
;   (setq LI (nth I L))                        ;=======>原来的程序此处少一个括号
    (if        ;(= E1 LI)                        ;做判断,看扫瞄到的图块是否是所要图框式
      (wcmatch E1 LI)
      (progn
        (setq B1 (cdr (assoc 41 E)))        ;得到图框的比例
        (setq P (cdr (assoc 10 E)))        ;得到图框的插入点坐标
        (setq X (car P))
        (setq Y (cadr P))
        (setq Z (caddr P))
        (setq X2 (- X (* 82 B1)))        ; 82=180-98
        (setq Y2 (+ Y (* 21 B1)))        ; 21=3*7
        (setq P2 (list X2 Y2 Z))        ;得到P2点坐标
        (setq X1 (- X (* 180 B1)))
        (setq Y1 (+ Y (* 56 B1)))
        (setq P1 (list X1 Y1 Z))        ;得到P1点坐标
        (setq X3 (- X (* 60 B1)))        ; 60=22+20+18
        (setq Y3 Y1)
        (setq P3 (list X3 Y3 Z))        ;得到P3点坐标
        (setq X4 (- X (* 10 B1)))
        (setq Y4 (+ Y (* 42 B1)))        ; 42=6*7
        (setq P4 (list X4 Y4 Z))        ;得到P4点坐标
        ;;-------取图名-------------
        (setq TUMING (ssget "w" P1 P2))        ;取得图名字符串
        (setq NUM1 (sslength TUMING))        ;取得该字符串中对象的数目
        (setq TM "")
        (if (/= NUM1 0)                        ;循环取得各个字符串,然后组成整个图名
          (progn
            (setq TMX (ssname TUMING 0))
            (setq TMX_X (entget TMX))
            (setq TMX_X_NAME (cdr (assoc 1 TMX_X)))
            (setq TM (strcat TM TMX_X_NAME)) ;得到图名
            (setq NUM1 (1- NUM1))
          )                                ;内层progn语句结束
        )                                ; 内层if语句结束
        ;;-------取得图名-----------
        ;;-------取图号-------------   
        (setq TUHAO (ssget "w" P3 P4))        ;取得图号字符串
        (setq NUM2 (sslength TUHAO))        ;取得该字符串中对象的数目  
        (setq TH "")
        (if (/= NUM2 0)                        ;循环取得各个字符串,然后组成整个图名
          (progn
            (setq THX (ssname TUHAO 0))
            (setq THX_X (entget THX))
            (setq THX_X_NAME (cdr (assoc 1 THX_X)))
            (setq TH (strcat TH THX_X_NAME)) ;得到图号
            (setq NUM2 (1- NUM2))
          )                                ;内层progn语句结束
        )                                ; 内层if语句结束
        ;;-------取得图号-----------
        ;;-------写成文本-----------
        (setq CHAIDA (open "C:/i.txt" "w"))
        (print TH CHAIDA)
        (princ "\n" CHAIDA)
        (print TM CHAIDA)
        (princ "\n" CHAIDA)
        (close CHAIDA)
      )                                        ;progn 的结束
      (setq I (1+ I))
    )                                        ; if的结束
  ;)                                        ;repeat 结束
  ;; -----制作该程序之对话框的AutoLISP驱动程序
  ;; -----加载指定的dcl文件----
  (setq DCL_ID (load_dialog "chaida.dcl"))
  ;; -----显示对话框,并确认对话框存在,否则结束程序------
  (if (not (new_dialog "chaida" DCL_ID))
    (exit)
  )
  (start_dialog)
  ;; -----设定按钮动作,若用户选择       按钮则  -------
  (set_tile "chazhao" "")
  ;; -----卸载dcl文件----
  (unload_dialog DCL_ID)
  (setvar "cmdecho" OCE)
  (princ)
)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 03:40 , Processed in 0.461837 second(s), 67 queries .

© 2020-2025 乐筑天下

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