明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 330|回复: 6

[提问] 插入块的代码,2个问题

[复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式
1、怎么默认比例为1,要不没次要打上去      2路径前面加*号是插入后炸开,但是加了*号后插入后不显示动态效果


(DEFUN C:dtys( )
(SETVAR "CMDECHO" 0)
(SETVAR "OSMODE" 0);关闭捕捉
  (COMMAND "_INSERT" "*D:\\钢管图块.dwg" (getpoint "\n图块插入点:"))
  (princ)  ;静默退出

发表于 3 天前 | 显示全部楼层
1,command 后面加上去
2,不要加*号,插完再炸

评分

参与人数 1明经币 +1 收起 理由
gaolei_gaolei + 1 赞一个!

查看全部评分

 楼主| 发表于 前天 08:44 | 显示全部楼层
start4444 发表于 2024-11-12 22:38
1,command 后面加上去
2,不要加*号,插完再炸

大哥帮我填上去,我填的不行
发表于 前天 10:19 | 显示全部楼层
本帖最后由 kozmosovia 于 2024-11-13 10:21 编辑
  1. (DEFUN C:dtys ()
  2.   (SETVAR "CMDECHO" 0)
  3.   (SETVAR "OSMODE" 0)                        ;关闭捕捉
  4.   (COMMAND "_INSERT"
  5.            "D:\\钢管图块.dwg"
  6.            (getpoint "\n图块插入点:")
  7.   )
  8.   (while (> (getvar "CMDACTIVE") 0) (command ""))
  9.   (command "_.explode" (entlast))
  10.   (princ)                                ;静默退出
  11. )

评分

参与人数 1明经币 +1 收起 理由
gaolei_gaolei + 1 很给力!

查看全部评分

 楼主| 发表于 前天 13:09 | 显示全部楼层

朋友,这个现在不会旋转了
发表于 前天 14:28 | 显示全部楼层
本帖最后由 kozmosovia 于 2024-11-13 15:02 编辑

第六行(getpoint "\n图块插入点:")改成 (getpoint "\n图块插入点:") "1" pause
或者先插入再旋转
  1. (DEFUN C:dtys ()
  2.   (SETVAR "CMDECHO" 0)
  3.   (SETVAR "OSMODE" 0)                        ;关闭捕捉
  4.   (COMMAND "_INSERT"
  5.            "D:\\钢管图块.dwg"
  6.            (getpoint "\n图块插入点:")
  7.   )
  8.   (while (> (getvar "CMDACTIVE") 0) (command ""))
  9.   (command "_.Rotate" (entlast) "" (cdr (assoc 10 (entget (entlast)))) pause)
  10.   (command "_.explode" (entlast))
  11.   (princ)                                ;静默退出
  12. )

评分

参与人数 1明经币 +1 收起 理由
gaolei_gaolei + 1 很给力!

查看全部评分

 楼主| 发表于 昨天 19:35 | 显示全部楼层
kozmosovia 发表于 2024-11-13 14:28
第六行(getpoint "\n图块插入点:")改成 (getpoint "\n图块插入点:") "1" pause
或者先插入再旋转

大哥再帮我看看这个,插入块后,不会旋转
(defun c:tk1()
        (setq cmdmode (getvar "cmdecho"))
        (setvar "cmdecho" 0)
        (if (= dir_lisp nil)
                (command "insert" "D:\\工具\\block\\lispblock" '(quit)))
        (setq dir_lisp "D:\\工具\\")
        (tk_dcl_auto)
        (prin1)
)

(defun tk_dcl_auto( / idd tk_id)
   (setq idd (load_dialog (strcat dir_lisp "dcl\\tk")))
   (if (< idd 0) (exit))
   (if (not (new_dialog "tk_radio" idd)) (exit))
          (setq tk_sldkey_list '("22新" "26新" "30新" "22拆""26拆""30拆""原有拉线"))
         
        (setq tk_sld_list '("22新" "26新" "30新" "22拆""26拆""30拆""原有拉线"))
        (mapcar 'tk_show_sld tk_sldkey_list tk_sld_list)
        (setq xh "22新")
        (mode_tile "22新" 2)
   (action_tile "22新" "(setq xh \"22新\")");"action_tile"
   (action_tile "26新" "(setq xh \"26新\")");
   (action_tile "30新" "(setq xh \"30新\")")
   (action_tile "22拆" "(setq xh \"22拆\")");"
   (action_tile "26拆" "(setq xh \"26拆\")")
   (action_tile "30拆" "(setq xh \"30拆\")")  
(action_tile "原有拉线" "(setq xh \"原有拉线\")")
    (action_tile "accept" "(done_dialog 1)")
   (action_tile "cancel" "(done_dialog -1)")
   (setq tk_id (start_dialog))
                (unload_dialog tk_id)
;;;        (if (< tk_id 0)
;;;       (unload_dialog))
   (if (> tk_id 0) (command "insert" xh "x" 1 "y" 1 "r" 0 (getpoint "请选择插入点")))
;;;   (setq pp (cdr(assoc 10 (entget(entlast)))))
   (princ)
  )
(prompt "============<命令TK1>=============")

;对sld文件做相应的设置动作===============================
(defun tk_show_sld(tk_key tk_sld)
        (setq tk_x (dimx_tile tk_key))
        (setq tk_y (dimy_tile tk_key))
        (start_image tk_key)
        (fill_image 0 0 tk_x tk_y -2)
;;;        (slide_image 0 0 tk_x tk_y (strcat dir_lisp "sld\\" tk_sld))
        (slide_image 0 0 80 60 (strcat dir_lisp "sld\\" tk_sld))
        (end_image)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 01:50 , Processed in 0.234881 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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