明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3973|回复: 21

[经验] [原创]用保留函数制作vlx

  [复制链接]
发表于 2021-12-14 22:31:56 | 显示全部楼层 |阅读模式
本帖最后由 baitang36 于 2022-3-9 09:15 编辑

vlx-pack这个保留函数,可以用于制作vlx
它和vlisp-compile一样,需要加载vlide后才能使用。
感兴趣者自己试验吧,源码如下:
(startapp "c:/06/sleep.dat")  ; 延时三秒关闭vlide
(c:vlide)                                ;加载vlide
;(princ "vlide窗口已关闭!")
;(princ)
(load "c:/06/syz-vlx-pack.fas")  ;加载保留函数
(setq list1 '((:protected . T)
              (:active-x . T)
              (:separate-namespace)   ;非独立名称空间
              (:load-file-list (:fas "1") (:fas "2"))   ;需要加载的fas
             )
) ;_ setq
(setq list2 (list (list :fas "d:/1.fas") (list :fas "d:/2.fas")))
(vlx-pack "d:/2t.vlx" list1 list2)



本帖子中包含更多资源

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

x

评分

参与人数 3明经币 +3 收起 理由
tigcat + 1 很给力!
tryhi + 1
print1985 + 1

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2021-12-15 11:04:50 | 显示全部楼层
本帖最后由 baitang36 于 2021-12-15 11:29 编辑
tryhi 发表于 2021-12-15 10:06
楼主好像少说了一个很重要的变量,:fas

这是一个保留符号。
再加一个:txt,支持dcl文件

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2024-4-28 14:41:40 | 显示全部楼层
本帖最后由 cchessbd 于 2024-4-28 14:54 编辑
baitang36 发表于 2021-12-15 11:04
这是一个保留符号。
再加一个:txt,支持dcl文件

盛老师您好,请教一个问题: 拖入加载syz-vlx-pack.fas后,我学习您这个1.1的版本来自动生成vlx。
我采用的是2种方式生成,一种是直接原始多个fas文件,一种是多fas文件合并为一个fas再用syz-vlx-pack生成。
现在是能够生成vlx,生成的vlx不能正常运行。
但生成后的vlx(包含syz-vlx-pack.fas)有很多bug:cad中拖放加载后,不能运行syz-vlx-pack,丢失其他函数。
和.prv文件编译的对比,功能完全不正常。贴上我的.prv文件

;;; Visual LISP 生成文件 [V1.0] L2F_F2A_CMP_TRYHI-L2F_RND_P saved to:[R:/L2F_F2A_CMP_TRYHI-L2F_RND_P] at:[11/29/22]
(PRV-DEF (:target . "L2F_F2A_L2X_F2X_CMP_TRYHI-L2F_RND_P.VLX")
         (:active-x . T)
         (:separate-namespace)
         (:protected . T)
         (:load-file-list
           (:fas "__GetVlxPath.fas")
           (:fas "syz-vlx-pack.fas")
           (:fas "_write-nb-str.fas")
           (:fas "CMP合并多个LSP并编译.fas")
           (:fas "L2F批量转FAS0113.fas")
           (:fas "RND.fas")
           (:fas "TRYHI-L2F.fas")
         )
         (:require-file-list (:txt "sleep0.3秒关闭.txt"))
         (:ob-directory)
         (:tmp-directory)
         (:optimization . st)
)
;; EOF

麻烦您百忙之中帮忙解答一下。
 楼主| 发表于 2022-3-21 08:15:47 | 显示全部楼层
1028695446 发表于 2022-3-20 17:23
您好,请问可以举个例子吗,不明白怎么用,关于打包DCL的

(load "c:/06/syz-vlx-pack.fas")  ;加载保留函数
(setq list1 '((:protected . T)
              (:active-x . T)
              (:separate-namespace)   ;非独立名称空间
              (:load-file-list (:fas "1") (:fas "2"))   ;需要加载的fas
             )
) ;_ setq
(setq list2 (list (list :fas "d:/1.fas") (list :fas "d:/2.fas")))
(vlx-pack "d:/2t.vlx" list1 list2)
这就是源码,原理很简单。准备好两个表,把你需要打包进vlx的文件路径写到表里,然后调用vlx-pack
发表于 2021-12-14 23:29:13 | 显示全部楼层
盛老师又出新作品了 立即试用 感谢感谢
发表于 2021-12-15 09:33:40 | 显示全部楼层
大佬太高能,凡辈无法跟随。
发表于 2021-12-15 09:54:21 来自手机 | 显示全部楼层
曾经的大佬都隐退了(潜水太深),楼主就是现在的大佬。
发表于 2021-12-15 10:06:42 | 显示全部楼层
楼主好像少说了一个很重要的变量,:fas
发表于 2021-12-15 11:14:33 来自手机 | 显示全部楼层
还有:dcl :dvb,用来打包其他文件。另外前面:开头那几个也是常量标志,都可以用隐藏函数获取。
发表于 2021-12-15 11:26:45 来自手机 | 显示全部楼层
另外有三种制作vlx的方法,一是用vlx pack把第二个参数表中:fas后面文件名的字符串改为fas实际编码字符串,二是通过vlisp  fasres  update 制作对齐vlx 编码然后补上vlx 头部表,三是用文本做一个prv文件,然后用prv build、fetch函数做出vlx

点评

然后用prv build、fetch函数做出vlx,请教猫老师,build、fetch函数可以给个示例吗?  发表于 2021-12-15 13:04
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 13:06 , Processed in 0.184280 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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