明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1384|回复: 7

[源码] 批量插入光栅图

[复制链接]
发表于 2023-7-26 17:42:42 | 显示全部楼层 |阅读模式
  1. (defun c:tt(/ )
  2.   (setq i 1)
  3.   (setq ang 0)
  4.   (setq n 0)
  5.   (main)
  6.   (prin1)
  7. )
  8. (defun main( / pt)
  9.   (setq dcl_id (load_dialog (make-dcl)))
  10.   (new_dialog "gst" dcl_id)
  11.   (set_tile "kzkd" "100")
  12.   (setq kd(atof(get_tile"kzkd" )))
  13.   (set_tile "zjjl" "20")
  14.   (set_tile "mxgs" "10")
  15.   (setq jl(atof(get_tile"zjjl" )))
  16.   (action_tile "dkwj" "(done_dialog 1)")
  17.   (setq dd(start_dialog))
  18.   (if (= dd 1)
  19.     (progn
  20.       (find_file)
  21.       (if(not pt) (setq pt(getpoint"\n插入点")))
  22.       (setq pt: pt)
  23.       (foreach   f filelist
  24.         (inpic (strcat path"\" f  )pt  )
  25.         (setq las(entlast))
  26.         (setq bx(box las))
  27.         (setq wh(mapcar 'abs (mapcar '- (car bx)(cadr bx))))
  28.         (command "SCALE" las"" "non" pt (/ kd (car wh)) )
  29.         (setq i(1+ i))
  30.         (if (/= (rem  i 11 )1  )
  31.           (setq ang 0)
  32.           (progn(setq ang (* 0.5 pi))
  33.             (setq i 1)
  34.             (setq n(1+ n))
  35.             (setq pt  (polar pt: ang (* n(* 2 kd))))
  36.           )
  37.         )
  38.         (setq pt  (polar pt ang (+ jl kd)))
  39.       )
  40.     )
  41.   )
  42. )
  43. (defun inpic (path::  pta /)
  44.   (vla-AddRaster
  45.     (vla-get-modelspace(vla-get-activedocument(vlax-get-acad-object)))
  46.     path::
  47.     (vlax-3d-point   pta
  48.     )
  49.     1
  50.     0
  51.   )
  52. )
  53. (defun box (ss0 / ptmi ptma)
  54.   (vla-getboundingbox
  55.     (vlax-ename->vla-object ss0)
  56.     'ptmi
  57.     'ptma
  58.   )
  59.   (mapcar 'vlax-safearray->list (list ptmi ptma))
  60. )
  61. (defun find_file ()
  62.   (setq FILE: (getfiled "选择文件夹内一个文件"
  63.                 ""
  64.                 ""
  65.                 4
  66.               )
  67.   )
  68.   (setq path     (vl-filename-directory FILE:)
  69.     filelist (vl-directory-files path "*.jpg")
  70.   ))
  71. (defun make-dcl  (/ lst_str str file f)
  72.   (setq lst_str '(
  73.                    "gst:dialog"
  74.                    "{ "
  75.                    "     label = "批量插入光栅图";"
  76.                    "         :row"
  77.                    "     { "
  78.                    "          :button"
  79.                    "          { "
  80.                    "               key = "dkwj";"
  81.                    "               label = "打开文件夹";"
  82.                    "               width = 12.15;"
  83.                    "               height = 1.875;"
  84.                    "               fixed_height = true;"
  85.                    "               fixed_width = true;"
  86.                    "          } "
  87.                    "     } "
  88.                    "     :row"
  89.                    "     {"
  90.                    "          :text"
  91.                    "          {"
  92.                    "              "
  93.                    "               label = "图片宽度";"
  94.                    "               fixed_height = true;"
  95.                    "               fixed_width = true;"
  96.                    "          } "
  97.                    "          :edit_box"
  98.                    "          { "
  99.                    "               key = "kzkd";"
  100.                    "               width = 12.15;"
  101.                    "               height = 0.938;"
  102.                    "               fixed_height = true;"
  103.                    "               fixed_width = true;"
  104.                    "          } "
  105.                    "     } "
  106.                    "     :row"
  107.                    "     { "
  108.                    "          :text"
  109.                    "          { "
  110.                    "             "
  111.                    "               label = "之间距离";"
  112.                    "               fixed_height = true;"
  113.                    "               fixed_width = true;"
  114.                    "          } "
  115.                    "          :edit_box"
  116.                    "          {"
  117.                    "               key = "zjjl";"
  118.                    "               width = 12.15;"
  119.                    "               height = 0.938;"
  120.                    "               fixed_height = true;"
  121.                    "               fixed_width = true;"
  122.                    "          } "
  123.                    "     } "
  124.                    "     :row"
  125.                    "     { "
  126.                    "          :text"
  127.                    "          { "
  128.                    "              "
  129.                    "               label = "每行个数";"
  130.                    "               fixed_height = true;"
  131.                    "               fixed_width = true;"
  132.                    "          } "
  133.                    "          :edit_box"
  134.                    "          { "
  135.                    "               key = "mxgs";"
  136.                    "               width = 12.15;"
  137.                    "               height = 0.938;"
  138.                    "               fixed_height = true;"
  139.                    "               fixed_width = true;"
  140.                    "          }"
  141.                    "     }"
  142.                    "     ok_cancel;"
  143.                    "} "
  144.                  )
  145.   )
  146.   (setq file (vl-filename-mktemp "DclTemp.dcl"))
  147.   (setq f (open file "w"))
  148.   (foreach str lst_str
  149.     (princ "\n" f)
  150.     (princ str f)
  151.   )
  152.   (close f)
  153.   file
  154. )
  155. (princ)



本帖子中包含更多资源

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

x

评分

参与人数 2明经币 +2 收起 理由
bssurvey + 1 赞一个!
xj6019 + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-7-26 18:19:45 | 显示全部楼层
本帖最后由 jun353835273 于 2023-7-26 19:02 编辑

可以加个列表框,不需的给移除
DCL搞好了,大佬们来驱动他吧

本帖子中包含更多资源

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

x
 楼主| 发表于 2023-7-26 18:31:11 | 显示全部楼层
jun353835273 发表于 2023-7-26 18:19
可以加个列表框,不需的给移除

没有看到图片不知道是否移除的
发表于 2023-7-26 23:59:58 | 显示全部楼层
谢谢楼主分享,有批量插入PDF页面的方式吗
发表于 2023-7-27 08:18:34 | 显示全部楼层
xcmdos 发表于 2023-7-26 23:59
谢谢楼主分享,有批量插入PDF页面的方式吗

(command "._-pdfattach" PDFFile 页码 坐标  比例 "0")
页码识别参考http://bbs.mjtd.com/thread-187420-1-1.html
发表于 2023-7-27 08:52:31 | 显示全部楼层
jun353835273 发表于 2023-7-27 08:18
(command "._-pdfattach" PDFFile 页码 坐标  比例 "0")
页码识别参考http://bbs.mjtd.com/thread-18742 ...

不太懂代码 有整合到一起的代码吗  批量插入PDF
发表于 2023-8-13 09:54:51 | 显示全部楼层
程序不能用
发表于 2023-10-26 21:10:19 | 显示全部楼层
大佬,程序用不了,输入的列表有缺陷ssget 列表值错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-25 03:05 , Processed in 0.204378 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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