明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1738|回复: 11

[讨论] cad文件内插入当前文件的路径

  [复制链接]
发表于 2020-2-25 10:42:06 | 显示全部楼层 |阅读模式
(defun C:BB ()
(setq NHYU(getvar "DWGPREFIX"))
(if (not JYgd) (setq JYgd (getdist "\n文字比例:")) (setq JYgd (if (setq D (getdist (strcat "\n文字比例<" (rtos JYgd 2 2) ">:"))) D JYgd)))
(command "text" (getpoint"\指定点" ) (* 2 JYgd) ""  NHYU )
  (princ)        
)


评分

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

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2023-5-2 08:09:12 | 显示全部楼层
XGZS1234 发表于 2023-4-29 17:24
大神 C:%users\Administrator\appdata\local\temp\23FX-06.dwg    如果想要temp\23FX-06怎么改?

(setq tem(last(LM:str->lst (vl-filename-directory (setq str "C:\\Users\\Administrator\\appdata\\local\\temp\\23FX-06.dwg")) "\\")))
(strcat tem "\\" (vl-filename-base str))


;下为调用函数
(defun LM:str->lst (str del / pos)   
  (if (setq pos (vl-string-search del str))
    (cons (substr str 1 pos)
                        (lm:str->lst (substr str (+ pos 1 (strlen del))) del)
    )
    (list str)
  )
)
 楼主| 发表于 2023-2-25 15:05:28 | 显示全部楼层
fangseng 发表于 2023-2-25 14:41
XJ6019这个正是我想要的, 要是能加上文件名,就更加完美了!!!


(defun C:BB (/ d jygd nhyu)
        (setq NHYU(getvar "DWGPREFIX"))
        (if (not JYgd) (setq JYgd (getdist "\n文字比例:")) (setq JYgd (if (setq D (getdist (strcat "\n文字比例<" (rtos JYgd 2 2) ">:"))) D JYgd)))
        (command "text" (getpoint"\指定点" ) (* 2 JYgd) ""  (strcat NHYU (getvar "dwgname") ))
  (princ)        
)
 楼主| 发表于 2020-2-26 09:49:05 | 显示全部楼层
669423907 发表于 2020-2-26 09:44
;打开当前文档所在目录 nyistjz 2018-12-7 http://bbs.mjtd.com/thread-178658-1-1.html
(defun c:mll()(v ...

你的老帖子里面的代码可以用
谢谢


;;==============打开当前图形文件所在位置============
(defun C:Openthefile ()
       (princ "\n-->打开当前图形文件所在的文件夹!" )
       (setq winshell (vlax-create-object "Shell.Application" ))
       (setq filepath (getvar "DWGPREFIX" ))
       (vlax-invoke-method WinShell 'Open filepath)
);end defun
(princ
 楼主| 发表于 2020-2-26 09:30:04 | 显示全部楼层
本帖最后由 xj6019 于 2020-2-26 09:32 编辑

谁知道怎么打开当前文件所在的文件夹如果想打开当前文件所在文件夹内相邻的文件,可能依次要打开很多文件夹,很慢
当前我会的是打开指定文件夹,但是不能总是更换lisp里面的路径
所以才想研究一下,怎么直接打开当前文件所在的文件夹

(vl-load-com)(vlax-invoke (vla-GetInterfaceObject (vlax-get-acad-object) "Shell.Application") "open"  DWGPREFIX)

直接这个样不行呢
求指教!

发表于 2020-2-26 09:44:15 | 显示全部楼层
;打开当前文档所在目录 nyistjz 2018-12-7 http://bbs.mjtd.com/thread-178658-1-1.html
(defun c:mll()(vlax-invoke-method (vlax-create-object "Shell.Application" ) 'Open (getvar "DWGPREFIX" ))(princ))

评分

参与人数 1明经币 +1 收起 理由
xj6019 + 1 很给力!另外的回复错地方了,打开的网页有.

查看全部评分

发表于 2020-2-26 15:18:39 | 显示全部楼层
直接使用 startapp 即可,无需这么复杂。
win中就 explorer.exe ,mac 就 finder
 楼主| 发表于 2020-2-26 15:36:07 | 显示全部楼层
e2002 发表于 2020-2-26 15:18
直接使用 startapp 即可,无需这么复杂。
win中就 explorer.exe ,mac 就 finder

谢谢,论坛里面找了好几个函数,大部分都是重复打开的,只有上面的函数打开的文件夹是不重复的,也就是没打开的情况下打开,打开的情况下,直接最前显示,这个效果应该是最好的,虽然麻烦了点,满足的效果还是比较不错的吧
发表于 2020-3-13 17:55:36 | 显示全部楼层
扩展一下,大佬们能不能帮忙做一个打开当前文件所在文件夹的上级目录程序?(不重复打开文件窗口)非常感谢!
发表于 2023-2-25 14:41:02 | 显示全部楼层
XJ6019这个正是我想要的, 要是能加上文件名,就更加完美了!!!
发表于 2023-4-29 17:24:35 | 显示全部楼层
xj6019 发表于 2023-2-25 15:05
(defun C:BB (/ d jygd nhyu)
        (setq NHYU(getvar "DWGPREFIX"))
        (if (not JYgd) (setq JYgd (getdi ...

大神 C:\Users\Administrator\appdata\local\temp\23FX-06.dwg    如果想要temp\23FX-06怎么改?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 16:20 , Processed in 0.155302 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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