明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1238|回复: 6

请版主帮忙看看调不通??????

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

(defun C:gdq (/ oce oce1 oldlayer p1 p2  s:xh)
  (graphscr)

  (setq oce (getvar "cmdecho")
 oce1 (getvar "OSMODE")
        oldLayer (getvar "clayer")
     
  )
  (setvar "cmdecho" 0)

 
 
  ( initget 1  "M" )
  (setq p1 (getpoint "\n供电器输入口插入点:[重复M] "))
  (IF (= p1 "M")
(progn    
 (While p1
     (setq p1 (getpoint "\n供电器输入口插入点: "))
     (IF (= (type p1)  'list)
         (
           (setq
   
             p2 (getpoint p1 "\n供电器旋转角度 ")
      p2 (angle p1 p2)
            
           )
           (setq p2 (* ( / p2  pi ) 180))
    (command ".layer" "S" "电设备层" "")
           (setvar "OSMODE" 0)
           (command "insert" "供电器" p1  1  1 p2)
           (setvar "OSMODE" oce1) 
         )
      )
  )
 )
  (
  
     (setq       
         p2 (getpoint p1 "\n供电器旋转角度 ")
  p2 (angle p1 p2)
         p2 (*( / p2  pi ) 180)
     )
      (command ".layer" "S" "电设备层" "")
      (setvar "OSMODE" 0)
      (command "insert" "供电器" p1  1  1 p2 )
      (setvar "OSMODE" oce1)
   )
 )
 (setvar "clayer" oldLayer)
 (setvar "cmdecho" oce)
 (princ)
)

 楼主| 发表于 2005-9-6 12:33 | 显示全部楼层

这是一个能单个插入图块及重复插入图块的程序.

在重复选项里能运行但完成时有错误提示,提示能不能做的和CAD命令一个样.请大家帮帮忙,如 选择复制命令一样.

发表于 2005-9-6 13:40 | 显示全部楼层
  1. (defun C:gdq (/ oce oce1 oldlayer p1 p2 s:xh)
  2.   (graphscr)
  3.   (setq oce  (getvar "cmdecho")
  4. oce1  (getvar "OSMODE")
  5. oldLayer (getvar "clayer")
  6.   )
  7.   (setvar "cmdecho" 0)
  8.   (command ".layer" "M" "电设备层" "S" "电设备层" "")
  9.   (While (setq p1 (getpoint "\n供电器输入口插入点<退出>: "))
  10.     (setq p2 (getpoint p1 "\n供电器旋转角度 ")
  11.    p2 (angle p1 p2)
  12.    p2 (* (/ p2 pi) 180)
  13.     )
  14.     (command ".layer" "S" "电设备层" "")
  15.     (setvar "OSMODE" 0)
  16.     (command "insert" "供电器" p1 1 1 p2)
  17.   )
  18.   (setvar "OSMODE" oce1)
  19.   (setvar "clayer" oldLayer)
  20.   (setvar "cmdecho" oce)
  21.   (princ)
  22. )
 楼主| 发表于 2005-9-6 14:31 | 显示全部楼层

多谢!按ESC会出现; <错误: 函数被取消>能控制吗? 

还有一个问题想请教,使用(Line命令)在画不规则图形后不能插入图块.自动退出程序.能给个示例吗?????

发表于 2005-9-6 15:51 | 显示全部楼层
试一下:
  1. (defun C:gdq (/ oce oce1 oldlayer p1)
  2. (DEFUN MYERROR (S)
  3.   (IF S (PRINC (STRCAT "\n应用程序错误:" S)))
  4.   (setvar "OSMODE" oce1)
  5.   (setvar "clayer" oldLayer)
  6.   (setvar "cmdecho" oce)
  7.   (PRINC)
  8. )
  9.   (SETQ OLDERR *ERROR* *ERROR* MYERROR)
  10.   (graphscr)
  11.   (setq oce  (getvar "cmdecho")
  12. oce1  (getvar "OSMODE")
  13. oldLayer (getvar "clayer")
  14.   )
  15.   (setvar "cmdecho" 0)
  16.   (command ".layer" "M" "电设备层" "")
  17.   (While (setq p1 (getpoint "\n供电器输入口插入点<退出>: "))
  18.     (setvar "OSMODE" 0)
  19.     (command ".insert" "供电器" p1 1 1 p2)
  20.     (COMMAND ".ROTATE" "L" "" P1 PAUSE)
  21.   )
  22.   (SETQ *ERROR* OLDERR)
  23.   (setvar "OSMODE" oce1)
  24.   (setvar "clayer" oldLayer)
  25.   (setvar "cmdecho" oce)
  26.   (princ)
  27. )
 楼主| 发表于 2005-9-6 17:31 | 显示全部楼层
使用(Line命令)在画不规则图形后插入图块到线上.能给个示例吗?????
 楼主| 发表于 2005-9-6 17:49 | 显示全部楼层

本帖子中包含更多资源

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

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-19 16:08 , Processed in 0.191572 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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