明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 345|回复: 5

[源码] [分享]SCR技术示例

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式
SCR是一项古老的技术,虽说现在编程方式多种多样,但这种技术也许也有不时之需.分享一个代码.对多个文件执行相同的命令/lisp命令.多文件选择是几年前复制论坛大侠的成果.需要opendcl的支持,现在可以替换成高飞等大神的函数.我自己装了opendcl,就不改了,你们谁改好了分享啊


;|
http://bbs.mjtd.com/forum.php?mo ... amp;fromuid=7314147
本帖最后由 millermin 于 2013-2-3 09:10 编辑
|;
(defun c:scr3 (/ currentdwg file file-list get-multi-files load-odclp openfile vl-filename-base-and-ext)
  (command "opendcl")
  ;;;忘记定义odcl变量!
  ;;;(defun Load-Odclp()
  ;;;        (if (setq ODCL (findfile (strcat "OpenDCL.x64." (itoa(atoi (getvar "acadver")))".arx"))) T nil)
  ;;;)
  (DEFUN Load-Odclp (/ A)
    (VL-CATCH-ALL-APPLY 'VL-CMDF '("OPENDCL"))
    (if
      (setq A (CAR
                (VL-REMOVE-IF-NOT
                  '(LAMBDA (X) (WCMATCH X "opendcl*arx"))
                  (ARX)
                )
              )
      )
      (PROGN (VL-ARX-IMPORT A))
    )
  )

  (defun vl-filename-base-and-ext (path)
    (strcat (vl-filename-base path) (vl-filename-extension path))
  )

  (defun GET-MULTI-FILES (name extention path /)
    (Load-Odclp)
    (DCL_MULTIFILEDIALOG  ;;;TIFF (*.tif)|*.tif||
      extention ;"TIFF (*.dwg)|*.dwg"
      name
      (if path path (GETVAR "DWGPREFIX"))
    )
  )
  ;(setq folder (getstring "\nCHOOSE YOUR DRAWING FILES PATH ONLY -- SHEET NUMBER "))
;;;  ;(setq path (strcat folder "\\"))
;;;
;;;  (setq file-list (mapcar '(lambda (dwgname) (strcat path dwgname))
;;;                          (vl-directory-files path "*.dwg")
;;;                  )
;;;  )
;;;  (setq currentdwg (strcat path (getvar "dwgname")))
  (setq file-list (GET-MULTI-FILES "请选择处理的文件:" "DWG图形文件(*.dwg)|*.dwg" "THISCOMPUTER"))



  (setq openfile (open (setq file "c:/myscript.scr") "w"))
  (foreach f file-list
    (write-line (strcat "_.open \"" f "\"") openfile)
    (write-line "(load \"E:/迅雷下载/04一级建造师/lisp学习/1/43-备份文件/c2x2.lsp\")" openfile)
    (write-line "c2x2" openfile) ;c2x2是lisp程序的命令
                ;(write-line "-vports si zoom e setbylayer all  y y" openfile)
    (write-line "_.qsave _.close" openfile)
  )
  (close openfile)
  (command ".script" file)
  (vl-file-delete file)
  (princ)
)

"觉得好,就打赏"
还没有人打赏,支持一下
回复

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 tigcat 于 2025-3-5 23:19 编辑
Bao_lai 发表于 2025-3-5 22:52
见过SCR的文件,但是一直没有找到怎么去写个SCR的语法介绍。

宝来兄,leemac网站上有示例,其实就是把cad操作写在记事本文档里,换行对应空格命令
例如,画圆
circle
0,0
20
也可以写成一行,空格相当于输入的意思
_.circle _non 0,0,0 5 (注意5后面也要带个空格表示确认)
回复 支持 1 反对 0

使用道具 举报

发表于 5 天前 | 显示全部楼层
见过SCR的文件,但是一直没有找到怎么去写个SCR的语法介绍。
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
脚本是吧,找个类似的参考一下
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
简单点,要deepseek去写个python代码去ocr,完了再python自动生成autoliso程序

【用deepseek写出一个图片转CAD的程序】 https://www.bilibili.com/video/B ... 323b7cc937854dffb6f

评分

参与人数 1金钱 +10 收起 理由
tigcat + 10 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 前天 11:05 | 显示全部楼层
看样子要多学习deepseek的用法
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-3-10 15:52 , Processed in 0.182188 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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