乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 79|回复: 9

[编程交流] 批量粘贴夹

[复制链接]

27

主题

72

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 22:58:44 | 显示全部楼层 |阅读模式
我们已经绘制了一些图纸,现在我们想把我们的标志图像粘贴在所有这些图纸上。我们可以将单个图像粘贴到多个图形中的固定位置,具有固定比例和旋转,而不打开所有图形吗。如批处理或使用lisp。。
回复

使用道具 举报

3

主题

20

帖子

18

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 23:06:03 | 显示全部楼层
在记事本中。。。
 
  1. open "C:\\path\to\drawing\drawing1.dwg"
  2. -insert "C:\\path\to\logo\logo.jpg" (you'll have to experiment with the options that follow - run "-insert" from the command line within autocad to check what works etc)
  3. qsave
  4. qclose
  5. open "C:\\path\to\drawing\drawing2.dwg"
  6. ...

 
构建脚本后,使用将其保存在某处。scr扩展,然后在autocad的命令行中键入scr,浏览到新的。scr文件,它将运行。
 
不是完美的,我现在不是一台cad pc,但应该给你一个起点。
 
确保在运行实时图形之前进行测试,首先将副本保存在某处!!!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:14:19 | 显示全部楼层
这已经被多次提到,但再次提到,制作dwg列表的两种方法www.Lee-mac。com有一个非常好的脚本编写程序。
 
另一种方法是通过CMD左下角的go to correct directory and do dir*获取dwg列表。dwg/b>目录。txt所有DWG的列表将在目录列表中。txt。使用word可以搜索行尾^ p使用此命令可以使用search&replace将脚本的其余部分保存为txt文件而不是doc。
 
  1. dgw1
  2. dwg2
  3. replace ^p ^popen
  4. now open dwg1
  5. open dwg2  
  6. replace ^p imageattach "C:\\path\to\logo\logo.jpg" "0,0" 1 0 close "Y"
  7. now
  8. open dwg1  imageattach "C:\\path\to\logo\logo.jpg" "0,0" 1 0 close "Y"
  9. open dwg2  imageattach "C:\\path\to\logo\logo.jpg" "0,0" 1 0 close "Y"
回复

使用道具 举报

27

主题

72

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 23:20:25 | 显示全部楼层
谢谢你的回复。我从梅那里学到了很多东西http://www.Lee-mac.com关于脚本。但我在粘贴剪辑中遇到了问题,我不知道如何在脚本中从窗口复制图像。
我听到一些“shell”的声音,但它不起作用。实际上,我想从我的窗口文件夹中复制一个图像,并以固定插入点固定比例和0旋转的方式粘贴到autocad的许多文件中。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:31:46 | 显示全部楼层
你看过我的帖子了吗?你只要把jpg保存在硬盘上的某个地方,你就可以简化脚本,我会再次提供一个答案。我一次插入大约40张图片,作为公司的员工目录,全自动。
 
  1. this is script
  2. open dwg1 (load "myinslogo") close y
  3. open dwg2 (load "myinslogo") close y
  4. open dwg3 (load "myinslogo") close y

 
  1. ; this is code for myinslogo.lsp put somewhere in your search path.
  2. (setvar "Ctab" "Model")
  3. (setq mspace (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
  4. (setq name "C:\temp\yourlogo.jpg"  )
  5. (setq inspt (list x y)) ; put your x y inspoint here
  6. (vla-AddRaster mspace name inspt 1.5 0.0) ; scale & rotation change 1.5 & 0.0
回复

使用道具 举报

27

主题

72

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 23:38:24 | 显示全部楼层
错误:功能错误:1033.0
 
这是脚本
 
  1. open "C:\Users\subodh\Desktop\Sign pro\Manchitra_Patna\Phulwari_1_1_Panapurtofir_Ka_Kha_Ga.dwg" (load "myinslogo") close y

 
这是myinslogo。lsp
 
  1. (setvar "Ctab" "Model")
  2. (setq mspace (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
  3. (setq name "F:\cadastral 2014\cadastral docs\sgnm.jpg"  )
  4. (setq inspt (1033.0 289.0)) ; put your x y inspoint here
  5. (vla-AddRaster mspace name inspt 0.3 0.0) ; scale & rotation change 1.5 & 0.0
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:41:07 | 显示全部楼层
可以使用此程序:复制到图形
 
[谢谢你的推荐BIGAL]
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:50:23 | 显示全部楼层
认为括号可能是问题所在
 
  1. try this
  2. (setq name "F:/cadastral 2014/cadastral docs/sgnm.jpg")
  3. or
  4. (setq name "F://cadastral 2014//cadastral docs//sgnm.jpg"  )
回复

使用道具 举报

3

主题

20

帖子

18

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 23:55:02 | 显示全部楼层
将图像放置在第一个图形中的正确位置。
 
基点为0,0,0的Copybase。
 
将基准粘贴到所有其他需要的图形中,基点为0,0,0。
 
以上内容可以放在脚本或lisp中。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:05:25 | 显示全部楼层
这是dwg中多页布局页面上的插入图像,您只需删除询问日期的代码。我看不出先将图像保存到磁盘有什么问题。
 
  1. ; Put co-ordinators sig on plans
  2. (vl-load-com)
  3. (setq layold (getvar "clayer"))
  4. (setvar "clayer" "TEXT")
  5. (setvar "imageframe" 0)
  6. (setvar "textstyle" "standard")
  7. (setq oldsnap (getvar "osmode"))
  8. (setvar "osmode" 0)
  9. (SETVAR "LUNITS" 2) ; decimal
  10. (setvar "aunits" 0) ; dec degrees
  11. (SETVAR "ANGBASE" 0.0) ; north up
  12. (SETVAR "ANGDIR" 0) ; clockwise
  13. (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  14. (vlax-for lay (vla-get-Layouts doc)
  15. (setq plotabs (cons (vla-get-name lay) plotabs))
  16. )
  17. (setq plottablist (acad_strlsort plotabs))
  18. (setq len (length plottablist))
  19. (setq x 0)
  20. (setq ans (getstring "\n Please enter date of signing.."))
  21. (setvar "textstyle" "standard")
  22. (repeat len
  23. (setq name (nth x plottablist))
  24. (princ name)
  25. (if (/= name "Model")
  26.      (progn
  27.      (setvar "ctab" name)
  28. ;(setvar "imageframe" 0)
  29.     ; (command "-CHANGE" "L" "" "P" "TR" "0" "")
  30. ; change transparency
  31. (command "-Insert" "P:/BIGAL" "439,15" 1  "" 0)
  32.     (setq ts (cdr (assoc 40 (tblsearch "STYLE" (getvar "TEXTSTYLE")))))
  33.      (if (zerop ts)
  34.           (command "TEXT" "498,18" "3.5" "0" ans)
  35.           (command "TEXT" "498,18" "0" ans)
  36.       )      
  37.      )
  38. )
  39. (setq x (+ x 1))
  40. )
  41. (setvar "clayer" layold)
  42. (setvar "osmode" oldsnap)
  43. (setq len nil
  44.          plotabs nil
  45.          plottablist nil)
  46. (princ)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 03:12 , Processed in 0.414671 second(s), 83 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表