明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1280|回复: 10

[提问] 已知此程序包含院长内库,给出此程序,求推导出这个内库的替代函数,不知哪位大神可以

[复制链接]
发表于 2024-6-8 16:47:46 | 显示全部楼层 |阅读模式
已知此程序包含院长内库,给出此程序,求推导出这个内库的替代函数,不知哪位大神可以补充一个替代函数

此程序为小韩所写,求各位大神补充一个替代函数替代这个(xyp-Shell-Open (strcat ml "\\" (nth i lst3)) nil)

;;    =============================================
;;    |           打开文件夹内所有图纸            |
;;    =============================================
(defun c:DKTZ (/ a1 cd fn i lst2 lst3 n qz)
        (or ml (setq ml ""))
        (setq               
                fn (GetFiled "选择dwg文件" ml "dwg" 16)
                qz (substr (VL-FILENAME-BASE fn) 1 1)
                cd (strlen qz)
                ml (vl-filename-directory fn)
                lst2 (vl-directory-files ml "*.dwg");列出文件夹内文件               
                lst3 '()
                n 0
        )
        (while (< n (length lst2))
                (setq        a1 (substr (nth n lst2) 1 cd))
                (if (= a1 qz)
                        (setq lst3 (cons (nth n lst2) lst3))
                )
                (setq n (1+ n))
        )
(setq i 0)
        (repeat (length lst3)
                (xyp-Shell-Open (strcat ml "\\" (nth i lst3)) nil)
                (setq i (1+ i))
        )       
        (princ)
)


"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-6-8 17:01:27 | 显示全部楼层
跟open打开有区别吗
 楼主| 发表于 2024-6-8 17:36:36 | 显示全部楼层
south 发表于 2024-6-8 17:01
跟open打开有区别吗

应该有区别吧
发表于 2024-6-8 17:40:42 | 显示全部楼层
估计是arx写的吧
发表于 2024-6-8 19:52:54 | 显示全部楼层
让院长分享
发表于 2024-6-8 22:26:57 | 显示全部楼层
  1. (defun myopenpath (filepath )
  2.        (or *winshell
  3.        (setq *winshell (vlax-create-object "Shell.Application" ))
  4.         )
  5.        (vlax-invoke-method *winshell 'Open filepath)
  6. )
  7. ;;    =============================================
  8. ;;    |           打开文件夹内所有图纸            |
  9. ;;    =============================================
  10. (defun c:DKTZ (/ fn ml lst2 file)
  11.   (or ml (setq ml ""))
  12.   (setq
  13.     fn         (GetFiled "选择dwg文件" ml "dwg" 16)
  14.     ml         (vl-filename-directory fn)
  15.     lst2 (vl-directory-files ml "*.dwg");列出文件夹内文件               

  16.   )
  17.   (foreach file        lst2
  18.     (myopenpath (strcat ml "\" file))
  19.   )
  20.   (princ)
  21. )
  22. 这样不行吗

发表于 2024-6-10 20:39:54 | 显示全部楼层
本帖最后由 alexmai 于 2024-6-10 20:46 编辑

2010 不能用
发表于 2024-6-11 11:57:32 | 显示全部楼层
  1. (defun hx:Opendwg (FilePath Activate / oFile)
  2.     (vl-load-com)
  3.     (if(findfile FilePath)
  4.       (if
  5.         (vl-catch-all-error-p
  6.           (setq oFile(vl-catch-all-apply 'vla-open (list(vla-get-Documents(vlax-get-acad-object)) FilePath)))
  7.         )
  8.         (alert (strcat "错误!\n 无法打开文件: " FilePath))
  9.         (if Activate (vla-Activate oFile))
  10.       )
  11.       (alert(strcat "错误!\n 找不到文件: " FilePath))
  12.     ); end if
  13. oFile
  14. )
 楼主| 发表于 2024-6-12 12:14:51 | 显示全部楼层

谢谢大哥,大哥牛逼.
 楼主| 发表于 2024-6-12 12:15:54 | 显示全部楼层

谢谢大哥,大哥威武.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 15:39 , Processed in 0.179286 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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