明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2685|回复: 11

[源码] DCL文件转LISP格式小程序

  [复制链接]
发表于 2024-9-2 16:52:53 | 显示全部楼层 |阅读模式
论坛上找的都不太好用,自己改了一下;源码;

  • ;部分代码采用明经 qcw911---"DCL2LSP"
  • ;功能:将DCL文件转换成LSP格式
  • ;转换完成后将DCL子程序复制到LSP中
  • ;把(setq dcl_id (load_dialog  "C:\\Users\\HA-ED\\Desktop\\NP_DCL"))
  • ;替换成
  • ;(setq dcl_id (load_dialog (setq Dcl_File (NP_DCL))))
  • ;(vl-file-delete Dcl_File)
  • ;倪平  2024.9.2
  • (defun c:NP_DCL2LSP ( / fname1 fn1 fname2 fn2 k fn1l fn2l )
  •   (setq fname1 (getfiled "Select DCL file" "" "dcl" 16))
  •   (setq fn1 (open fname1 "r"))
  •   (setq fname2 (getfiled "File to save" "" "lsp" 1))
  •   (setq fn2 (open fname2 "w"))
  •   (write-line "(defun NP_DCL(/ Dcl_File file str)" fn2)
  •   (write-line "(setq file (open (setq tmp-dcl-file-name (vl-filename-mktemp nil nil  \".DCL\")) \"w\"))" fn2)
  •   (write-line "(foreach str '(" fn2)
  •   (while (setq fn1l (read-line fn1))
  •     (setq fn2l fn1l)
  •     (setq k 0)
  •     (while
  •       (setq k (vl-string-search "\"" fn2l k))
  •       (setq fn2l (vl-string-subst (strcat "\\" "\"") "\"" fn2l k))
  •       (setq k (+ k 2))
  •     )
  •     (setq fn2l (strcat "\"" fn2l "\""))
  •     (write-line fn2l fn2)
  •   )
  •   (write-line ")" fn2)
  •   (write-line "(write-line str file)" fn2)
  •   (write-line ")" fn2)
  •   (write-line "(close file)" fn2)
  •   (write-line "tmp-dcl-file-name" fn2)
  •   (write-line ")" fn2)
  •   (close fn1)
  •   (close fn2)
  •   (princ)
  • )

评分

参与人数 3明经币 +3 收起 理由
52pj + 1 赞一个!
qazxswk + 1 赞一个!
bssurvey + 1 赞一个!

查看全部评分

发表于 2024-9-2 16:54:24 | 显示全部楼层
这是用的飞诗编辑器?
 楼主| 发表于 2024-9-2 22:08:23 来自手机 | 显示全部楼层
飞雪神光 发表于 2024-9-2 16:54
这是用的飞诗编辑器?

对哦,蛮好用的。
发表于 2024-9-2 22:15:00 | 显示全部楼层
飞诗编辑器能共享下吗
发表于 2024-9-2 22:30:29 | 显示全部楼层
下山学CAD 发表于 2024-9-2 22:08
对哦,蛮好用的。

以前我也这样 后来发现 复制后在编辑器里 Ctrl+shift+v就可以的

点评

学习了、这招是真好用啊  发表于 2024-9-24 20:30

评分

参与人数 2明经币 +2 收起 理由
xtjd + 1 赞一个!
xiaocainiao + 1 很给力!

查看全部评分

发表于 2024-9-3 17:30:58 | 显示全部楼层
以前我不太会lisp的时候,用excel写过lisp转DCL,就只要把引号加转义符,头尾加引号就行了
发表于 2024-9-3 18:52:52 | 显示全部楼层
支持发源码的。
 楼主| 发表于 2024-9-4 15:22:08 | 显示全部楼层
jun470 发表于 2024-9-3 17:30
以前我不太会lisp的时候,用excel写过lisp转DCL,就只要把引号加转义符,头尾加引号就行了

条条道路通罗马
发表于 2024-10-2 20:34:03 | 显示全部楼层
这个思路挺好用的,谢谢分享!
发表于 2024-10-3 16:58:42 | 显示全部楼层
好帖子顶一下好帖子顶一下好帖子顶一下好帖子顶一下好帖子顶一下好帖子顶一下好帖子顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-15 12:26 , Processed in 0.183402 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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