乐筑天下

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

[编程交流] 标题栏创建

[复制链接]

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 15:51:19 | 显示全部楼层
Rlx是否也是每张1 dwg?
回复

使用道具 举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 15:53:18 | 显示全部楼层
 
可悲的是。。。。
回复

使用道具 举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 16:01:09 | 显示全部楼层
只是一些午餐的乐趣,让你开始。尽可能简单。所有这些都可以通过对话框和/或自动显示模板文件夹中的所有文件名等来完成。我想早点发布,但W10的重大更新让我在3-4个小时内什么都不做。
 
 
  1. (defun c:Captain_Ahap  ( / SizeList ScaleList size scale titleblockfolder titleblock)
  2. (vl-load-com)
  3. ; some shortcuts for titleblock / border sizes (without the full path)
  4. (setq SizeList  (list "A0" "A1" "A2" "A3" "A4-L" "A4-P")
  5. ScaleList (list 1 10 50 100)
  6. titleblockfolder "c:/temp/mytitleblockfolder/"
  7. )
  8. (if (and (setq size  (CycleList "Choose titleblock size" SizeList))
  9.    (setq scale (CycleList "Choose titleblock scale" ScaleList)))
  10.    (progn
  11.      ; maybe translate size to filename first
  12.      (cond ((eq size   "A0") (setq titleblock (strcat titleblockfolder "A0_horizondal_test.dwg")))
  13.     ((eq size   "A1") (setq titleblock (strcat titleblockfolder "A1_horizondal_test.dwg")))
  14.     ((eq size   "A2") (setq titleblock (strcat titleblockfolder "A2_horizondal_test.dwg")))
  15.     ((eq size   "A3") (setq titleblock (strcat titleblockfolder "A3_horizondal_test.dwg")))
  16.     ((eq size "A4-L") (setq titleblock (strcat titleblockfolder "A4_Landscape_test.dwg")))
  17.     ((eq size "A4-P") (setq titleblock (strcat titleblockfolder "A4_Portrait_test.dwg")))
  18.      )
  19.      (if (and titleblock (findfile titleblock) (numberp scale))
  20. (progn
  21.   (setvar 'expert 2) (setvar 'cmdecho 0) (setvar 'attreq 0)
  22.   (command "-insert" titleblock (list 0 0 0) scale scale 0)
  23.   (command "_.explode" "_L")
  24.   (command "-purge" "B" "YourBlockName" "N")
  25.   (command "._zoom" "e")
  26. )
  27. (alert "Unable to insert titleblock")
  28.      )
  29.    )
  30. )
  31. (princ)
  32. )
  33. ; example1 (setq choise (CycleList "Choose titleblock size" '("A0" "A1" "A2" "A3" "A4")))
  34. ; example2 (setq choise (CycleList "Choose titleblock scale" '(1 10 50 100)))
  35. (defun CycleList (msg lst / inp loop rtn)
  36. (setq loop t)
  37. (while loop
  38.    (princ "\nCycle list with tab or L-mouse / accept use enter,space or R-mouse / Esc or x for exit\n")
  39.    (princ (strcat "\r" msg " <" (vl-princ-to-string (car lst)) "> : "))
  40.    (setq inp (vl-catch-all-apply 'grread (list nil 8 0)))
  41.    (if (vl-catch-all-error-p inp)
  42.      (progn (princ "\nTitleblock insertion cancelled")(setq rtn nil loop nil))
  43.      (progn
  44.        (cond
  45.          ;tab
  46.          ((or (equal inp '(2 9))(= (car inp) 3))
  47.           (setq lst (append (cdr lst)(list (car lst))))
  48.           (princ (strcat "\r" msg " <" (vl-princ-to-string (car lst)) "> : ")))
  49.          ;enter,space,r-mouse
  50.          ((or (equal inp '(2 13)) (equal inp '(2 32))(= (car inp) 25))
  51.           (setq rtn (car lst) loop nil))
  52.          ;x or X
  53.          ((member inp '((2 88)(2 120)))(setq rtn nil loop nil))
  54.        )
  55.      )
  56.    )
  57. )
  58. (terpri)
  59. rtn
  60. )
  61. ; start command with (c:Captain_Ahap)

嗯,(工作)一天结束了,所以我走了。。。随着风(或波浪,因为你显然有一个可疑的东西;-)
 
 
gr.Rlx
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:05:25 | 显示全部楼层
 
谢谢你rlx。它工作得很好。将使用c中的“support”文件夹,而不是临时文件夹。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 03:32 , Processed in 1.379881 second(s), 58 queries .

© 2020-2025 乐筑天下

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