乐筑天下

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

[编程交流] Autolisp评估用户变量

[复制链接]

9

主题

55

帖子

47

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-5 16:58:07 | 显示全部楼层 |阅读模式
我有一个打印设置来打印图形中的所有布局选项卡。我为用户提供了选择纸张大小、打印样式和方向的选项。这些存储为用户变量(PDFP、PST和PLO)。我的设置很好,但我正在尝试设置,如果用户没有选择其中一个变量,该命令将被取消。我尝试了if语句,但我想同时计算这三个变量。我认为这应该是可行的,只要我们能够弄明白。感谢您的帮助。
 
下面的代码是绘制所有布局并将其放置在每个项目的PDF文件夹中的代码。
 
  1. ^C^C^C(foreach LL (layoutlist)(setvar "ctab" LL)(command (setq DL (substr (getvar "dwgprefix") 1 (- (strlen (getvar "dwgprefix")) 13))) (setq DN (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))) (strcat DL DN);(setq FS (strcat DL "52 PDFs" (chr 92) DN "-" (getvar "CTAB") ".pdf")) "plot" "yes" "" "AutoCAD PDF (General Documentation)" PDFPS "Inches" PLO "No" "Extents" "1:1" "Center" "Yes" PST "Yes" "No" "No" "No" FS "Yes" "Yes" "Yes"));(alert "If all settings were selected, PDFs have been made of all layout sheets and saved in the PDFs folder for this project.  They were saved as Project Name-Layout Name");

 
作为参考,我有一个代码来计算每个变量并显示一条消息。
  1. (if (= nil PDFPS) (alert "No paper size was selected.  Please cancel command and select paper size.") (strcat PDFPS))
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 17:12:53 | 显示全部楼层
这是您的代码,缩进:
  1. ^C^C^C
  2. (foreach LL (layoutlist)
  3. (setvar "ctab" LL)
  4. (command
  5.         (setq DL (substr (getvar "dwgprefix") 1 (- (strlen (getvar "dwgprefix")) 13)))
  6.         (setq DN (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)))
  7.         (strcat DL DN);
  8.         (setq FS (strcat DL "52 PDFs" (chr 92) DN "-" (getvar "CTAB") ".pdf"))
  9.         "plot" "yes" "" "AutoCAD PDF (General Documentation)" PDFPS
  10.         "Inches" PLO "No" "Extents" "1:1" "Center" "Yes" PST "Yes" "No" "No" "No" FS "Yes" "Yes" "Yes"
  11. )
  12. )
  13. (alert
  14. "If all settings were selected, PDFs have been made of all layout sheets and
  15. saved in the PDFs folder for this project.  They were saved as Project Name-Layout Name"
  16. )

适当结构的示例如下(红色修正):
  1. [color="red"](defun C:PlotMyLayouts ( / DL DN FS PDFPS PLO PST ) [color="darkgreen"]; Localise your variables (everything that is used with [i]setq [/i]function)[/color]
  2. (if
  3.         (and
  4.                 (setq DL ...)
  5.                 (setq DN ...)
  6.                 (setq FS ...)
  7.                 (setq PDFPS ...)
  8.                 (setq PLO ...)
  9.                 (setq PST ...)
  10.         )
  11.         (progn[/color]
  12.                 (foreach LL (layoutlist)
  13.                         (setvar "ctab" LL)
  14.                         (command
  15.                                 [color="red"]DL[/color]
  16.                                 [color="red"]DN[/color]
  17.                                 (strcat DL DN);
  18.                                 [color="red"]FS[/color]
  19.                                 "plot" "yes" "" "AutoCAD PDF (General Documentation)" PDFPS
  20.                                 "Inches" PLO "No" "Extents" "1:1" "Center" "Yes" PST "Yes" "No" "No" "No" FS "Yes" "Yes" "Yes"
  21.                         ); command
  22.                 ); foreach
  23.                 (alert
  24.                         "If all settings were selected, PDFs have been made of all layout sheets and
  25.                         saved in the PDFs folder for this project.  They were saved as Project Name-Layout Name"
  26.                 )
  27. [color="red"]                ); progn
  28. ); if
  29. (princ)
  30. ); defun[/color]

顺便说一句,您可以使用:
  1. (setq DN (cadr (fnsplitl (getvar 'dwgname))))
回复

使用道具 举报

9

主题

55

帖子

47

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-5 17:15:53 | 显示全部楼层
谢谢你的回复。我正在尝试在不使用外部LSP文件的情况下在命令行上执行所有操作。我正在评估的变量是使用我创建的按钮来分别设置变量的。然后用户可以使用按钮创建设置。
 
第二个代码做什么?
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 17:21:39 | 显示全部楼层
它确实。。。没有什么实际上,这是一个例子,如何在评估命令调用之前输入/填充所有变量,
简而言之:代码检查您输入的所有内容是否正常,然后继续打印,否则您只需使命令崩溃(代码错误退出)。
更简单的例子:
  1. (if
  2. (and
  3.         (setq pdfSaveDirectory ...)
  4.         (setq pdfName ...)
  5.         (setq PaperSize ...)
  6. )
  7. (command "_.PLOT" ... )
  8. )       
回复

使用道具 举报

9

主题

55

帖子

47

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-5 17:32:56 | 显示全部楼层
 
不过,我不想用这段代码设置变量,我只是想验证它们的值不为零。这里的setq意味着它们将被设置为我在代码中输入的值?代码崩溃正是我希望它能做到的。以下是设置的图像:
[img]https://www.cadtutor.net/forum/image/png;base64,Ivborw0kgoaaaansuheugaabncaaabncaaaaaakoxvfaaagagaeleqvr4no2de5qcvz3h2z17zj5ezxfdb8d18yr4skbb3epzrsdjmbniijlhqsghiv08rbcgphkmdcyjecekzmaih8vgbrjgu1mqldxrfgqr2aadmv9sioboezbujsvsqarkprap+rRt27de+vR91bd6vl+to423vw3fs9777e7erqwbnmy6dong2fyrwr2v9ajzz0ofxcllllcxihghdymj3j zjmh9xwmdfz5swrvhrfsbnc/9170qw7j5v+yOJe8+hRy7KeWt53559O2/tnpzy1apNlWZZl/frJZ+498Yw97/1YdcMuy+W5W2776gf+wbo7bt8baxqcslfbhrqnywcg2ijobGGt4LOI/FVdPgQztj5uyKVOmvHzorS8+NB7x38uH3poyZYoi47U1KZT7x817Xzp2z0tH7/U1DDG22WQFQUFDHUKHCNINZM74ZI8LHULV3KCHFMFTOPBQOVBYUVVBQHW3R/+4J//3Yff94Epn33olSsfPXLZd1+95OFXL3roN9k6wqNlHNTBEYnzah6bJRQdcpQ+K81RPF2DO4ZCPZC71KAUQTMLZPYYSTMKYWJR4YGOMRRK/ORVSZIJ1L64L64L64jzrgmd1ipjlxovvm3vknf//vs5fZEvSZtf13/8U/7Hnvx76z6Ip3Xn/TsqzXXnjxgX/q/lLhxO8tWzlx9Kitpg7+a+Wrf/OJ+06apckjom4uomiaag4nik6lfo9igsiucdcrn2dspuw++8masf1OnTlVkvLYmhTJSn9g3bt73sjl8yLpo8+ff91cnDI7+6raf/e7LB63N3z9YKBSW3/3o51+0zt98e+Fdhc/e82ShUDBu/26pevTqxw+vfziisco9z7y28se+e2lD2u6g2wZB3VwROK8msdmCUWHHKXPZPNaT39bRIWqExLJ5I0iNLFHk+dorokbt5bjyhv670mzvva3p+45/pqne9dbljvh9edpxe40/e857pD/dc9s4bv7Ms6/UXx/d9ZPaX/+BDlfalnoiqffuxPcefbA8iL04+MpeghmGo0J+kEI1iA1Ro7oibsmnTpp1wwgnvj8wJJ5wwbdo0RcZra1IoD74y8UB9Yn/N/OarlrH+c3/07uO++Nxv9rxs3fGSteXh5wuFwvtP/PCJHz+1UCjMvqLU94NfFwqFi8vf3vgjc+2BN6594siaHxxe8dhrvd977Yrv/jZbR3i0jIM6OCJxXs1js4SiQ47SZ7J5rae/CLWOYRIHKRRJGACCPV76EZTY9WABCVWA6JQS88+W/AqT4J+7YOn7T3+4/umn/Xi8EOWZb32i4MPntpzxx9P23P8Kd85v9dWSv/3wx9//cTTv/KHJz2y+Kpjv3/bfvLlf3tk75+D4O0JL04MMPSV Ghmivallwfbveyquagprlwjdemfjgkxpfqe88+L/Wjm89e8nWL9z18zf3vnjsroPHdlcPLVk/MH/5+nN7119+24Of++nr7c8cbr983xfemhtd98qhti9qkj15em0pdq987pdy72u6g2wzb3vwbe0qroccp9k81ppf89WRhoqVMoI4mG10p+h5mV7dR0iowNaqNCpbaT+vOu46V8/8fSxtf2/+59D5jtHf7TtC/dP67jzuI/s/ct/fPqGWyaOHbMs65f3PHD/h9u/9K4PPdm7/u3Dr9vC6b/uuP/ed53hdbxvo2ms5enrtxoujaapcnb3vkxmp1ie+ecj65qvW/eMT97x07O6DR+968djdv7L2/Mq6o2Z98b+toZ++vevHbw+9ynbw 3Y3NTBN1Z09NV9I29VU7A69C/eeSax4+sfuy1rF1h0zIO6uAImlSMDjlKn8nmtZ7+KLSHF154YZQ7CGEASYKQOL/+Z569NM7BZ9Y8OXX195TM/XvVNm3PWej+49/uT9J88df+hRy7KOvvHGI0uW33Xc9Dvf/ZGf7L7T0UwTE49/9sa7jpvuG23qzLS8zACoUJAApCwTvB2V/e+B+sS+2rh7xj72dxt9ct3vvlco7f//O1/ef73X/jZ74d+8tau/3xrx4/evPk/3tz67Jubnnmjb+yNGw8cueGpI9c+cthrv9i0jim6oiimfandjntjnnmtp78kvehf10efqadlcgtjb5aygdqpahocfqpazjrrloyinggoansnhugzajqdjg85sruhiy+gcgvao lhqwxgkn3cgzqbodpouad1rqeivueqfaapimftyvbcnmugaa5qbjadathsr005/+nfqoanlbgtrcillm5aykdqhpqpadocvqoadkdc2olg+tmdqqqmam1bkwkgjwpv6kwxxspuocviuwqalmwzzr1skvpeKlXqpmn/QOFZR5SKRCBP5SP1YVCZCQYMTZA88UXV2MTQKSL4UYEUKRUHQZCNXSTB4SVZ1OUGD4J3JY29UEWKDEXAAZRXMH9MFMRZTUUUWXOJNLLCFxVMBPNK09U642CS+MXIN5RLKQ1KX0SLFCTTQO7Z1LVPLYP1KF0B0XKQS5IBQDU+FXn64HJVXA/B5EOXUIGKUGV0WDNN8AVJQRSXYJDUK6SGLKILRV8FXKTHKU1O1+9NBZLLLKZLKZLKKLKKU1 ly/MJqXOSrYHEDuVbX9l6mAaDSW2By7HHCQbl2crg6tCbV8Ne//t340vs5u6x0lymsgsvqunkndpjcpbyoidgq41ay8hjjjt70ypjflnqkbfisvsp1ptxiakgl5xconrpkawfmipbtwpyq2bgaXQO9hvMdEqWPVGcpewJTbGNUqEipmkVWq/X/W/02FuZ3KtQ37zMLz+noasjqyvskda7lrvuvuwjpewcnpgqlfymw/ctmmw4mjzgl4msbkb9kc0v3tjw8y5cffbxqjsbfdbtdtn2lw4okm0ost1wozlt4lelu6xqhv522wvbfvoslip1il5vcgvgllsngbk3ggenjzhuohpl1xqlirenegxelzrxsninfjmdgtuky4j7kgcx73o/qlglp9o BTNWowwq3uylmvytfl3kzjzokkkfgk0sazzqorsbps6s/fqrUO+xPipUB5MSzBKJtQ3PX6+FFanQ1vAuX76Eq1D+CLK27+n3lyyoqmuoipaid2vmvbjcmtpq1dd8d4skgc/FvDuyDUb+3Jnk99wpcmgteydfzqcwpa4xzpaphisvsp26fiu6gcwqx2umvzrpr1sqxazg0dqxyd+5okaA83GqHCPqE9hLOs+ND2CFqDJKJQ8XYJ7pjExFF2Gs2W79SNE2X3/l7ynS3WONwP/ytmosrdaly3qksaucfvdhaf0npyocr8s2hvwjwdm1irmpmr24o2csl8h4p1e9m5tebw9euufmjmlix/lq8qz7mhl3ld04e3etccdt8tysqvar VSEXJN6WWP7VWPKJ1ZVG1JVKOVUSZJCQPYAFGWW4GTQNYNYJLSDQXN1KIQLVDU3Z5EQ5CY1WVNKMZGWVPTZW8ITGIF0R7SWCHDZUNBWGWFKVTYY/nfC80/PT79G2P7RBP3SB5M51IKZD6MH2.vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvB1NXEEPKHCO1IJCHPDLXQCF7CKHVSQXNVDUIE1EIHD9PDGMX2P0LYGZOKRXANZYkpiJ0V2BOxNYx4KpSOCfNJZtCsxi0J9GF1jmIJiYxng+t6ush3ecjr6lx6recryawhgeyivfid6mjnxtpvmlnxy3rqk+nikvcqznfrfjvm08dqxr/c8LIT8DE8+jfhlhrsyuyop5faanqgc+R618FupkUOksYnAySk5KgLMX+usfIXzpbz7t8+cxoa6pxluzonk1mfukpppql1t3v+youseoai43aiuk1shv1xxbuuflgp3b7suclu3dirtlxzzzz XUSY/2RTLCLYKDRYHJNCKJV8x6OMQHSEWARTUHA7K7QNUMSYILOUCXM/Y06XZA7XKWTNR7FRLBJ3A3F6KTQXXMQ0UQXU5EG4U3PD7GUW2UKU0VVOHXVWI4PYGDUY+z5Ktc2DFPqkIFfqWlQrn1k50K1cik6LOEP4O+SUlQlvFaWJ0Kzb93+Filxuig5jt21jdk+55zf2xuopofyhoklreay5Moupioblbr5aqr3h31rw7qm1ohuyzxpq1u0hidurbmuf9d3iyli0lplegd8ahorfsfrrabvao3odgnp70hjdtod7gkjwsod1bz8x2mfmver7ezv70ljuklm14j9i/1+8ypgjb3ak3awsjwpciqx4edomwfownhhz3+dm6fzm0x4oq8oq8 Riybxicpnnncnsjpctun985xwpz1t24m4x/uzEroRY8GMeqVTox/ygJZ4neSmL40uk+leBbiaFzxL8DHqTkqAs47ewEhXaAt7lyxdmkwb25VFWwMBU2cT2XXV/ze6gibxk4hjlutyjmkvV17J/l4ocQ+G3+hSxf2yrBM0IlKlSt3+AxONj4/qlVKxcYp3VrwEOtEMjsN+RmhMMZjaZLDsKVJxEwdH/IFtk/YwBxfY4/TLL3R472HGSOCXOLT4KVRNixynjg9TJ8FQDSZQVWGJPAFP+RpG0/RRA1AYBJKVJJJJRYD502RII2PHS5MXI8YDLK5TREBMQUCOXPQNTJYX+KcnUqG+3+CKMCNSR8ZFJWP6SOTS/Bwb2//DOYAFWW+XK1eklxaiuvcfcp82qydsoqb5p8syujykztqv2kqcmhq6swgyse5kvlkm1cqvwjovcuxl3wvso8wnnvwf3xgqmxu+66yvzj1mi2ggsst4higkhqa0azrd70gd2ibbrw05yibcoaadzougd0rkek7e3thqofqddyufsybzmlfcpd25qbagzqpadoiuivetvvv0gfaiadlkgtjlbjhqlow3kaaaa2afia9eshcl2+fdlukadsofmm7m2aaagcyc0dsbkamommbubpzlqgvcgasscc2sigubkqnac9ckaoijhw6ysukqfaapimftyvbcnmugaa5qbjadathsp05cqv7f9q8f9iqfn4i9scdf9srauio/ySE6OMVgamuYc8WMzOMl17PHcn+Xjz7A/f2m1ibetgjflshtnl+en+VkJfhJIecA9YkWmESmvlw1eb80VixXvV+w8P3IR5xfjeLZ4M8UwzDe8804m3diTZXsEVg/JEa85P+FKtbvH4aSQIVq2MJiJlU3Na4ow+xIF4pQnIouTVuisuPij9Nse6atQsmfmC+WKpVy8ihImQ5gD+zjnt1tbw2kzettidxwsmznyy3wk5svwpw/iknt8dz7h07zcqlgutyzktuxj9purltvzhkb2ic37ilbi69kihv6vzjsjoxq74nwxrrqzplm6yjipdgzbqtljiceqlb3wwlmivmgyx9ekhamb3pldrljdnvsu4ujmranvd1zokafphr5e0aamwurvqkqpu9ga2jnrqnantgt97siafcy5qngrv1b1b DMZQSMT+guO41niHUoMZoEvAW8C1WhEZf8NFVogvFVm2QQqS/au+ois5etvip1z9vqvhaom8twrsluwzbjktsqvoeze5wqkwyivqrvpiwjg2y0eje59ovmlktocatabao7lvsu0cdx6jixYW673vTtpadT9W9l7zP2U1C9xPPlBuf+1fLdjna/xmrKGEP7MmdPTFUqN+8ou8qfxigd2cmygkjgcwrbq3dygcg2sbctuovw169vq3s0htg1otvaqjdtm/pvmgea5spyfy2mkb3kda4el9t59y6zcqwu5beqstnpdnmnnqae5hebtlkskw5kbev3f2hpsrjau4r/mvjla2okng2jc3djonk9nnm8ahuq2ekun9vysvspu7ua2i8jfp e7jvobmsar/chwR6hCxd3EKz8VKjT9Fo5usNHq3eSawTY7Ys2Lk8Kr0tCA80KUeJ/pc01ZxwWiQVpL1wAzAhFHpjxSqELXrFnD/l6o6xuxzJsNswPvkRTLVXcVFD2T+KNw2AN78mVPrAWVZR7jKu5yxJpBytUmdyr5Mixb89gqtO5779O/ijsLksAGpya9u7P470OzB/E9Sa6yjSepwaP72wLeharQ4J1p/GvRVtGPCZdjC36uScwgi0KqwiTDv41rdJYzunsRbx/slo295aK+6Rqwlo52xExRhpE78rhbSfGYgWKgb00XFK330Nt3hi09yRuW5ZdoBQyaFPQoTIX6Ai4+izfrnqlcnh6aybrd5narmtrbgcpiqvz/kotoyjmnew78l5s+pznbznbirus b5ucd5wym6txbsjtvhmpeewpld7j4kr7ah9utenlmzzskzz52oqsu2yf7iyotuskzmcy39npc8glj7l+JFbTxBw/EIzcsKVe5BR8zwvn2jtmP5PLcuP0h0bXELscItdAkXvTYT8o0idrGNfYrpv3pbLVsuF9gK/m+xtyiohidix29laynjqmc3dmzjew+iJqpoz4/ZLAHdo74QpIP+b0Y+hGn+l7lfk3yakpxwthmydjpa7khrrfhsbkugoaro7pj5hycb4/q7UL5KrTZ9pyljMI111wj/qwnynhgwijuhbm/+23QxJ/0g17ye8u7emwodlnm4kred9gdwhrwmvqo8za284z3lmveyoskqrjpqtd8e8dxuttodw1o/cbm 4Wnmsuibbqkg1etbuqyrywdtx5uq98zfctdlyvdp7vyb3zsg7k2znxou7pnivgj5oaneccfzapknbfmxchybmuklvqf4thmvg1u4mgdlre0d8mhdvcppervrqso04nnnelrq5fspypg0vwix3aCV3A+qeXNrQ4W7LwWfoYPi7QsjAntgT+7SIB6GIS0ZNMWPG2SRKHZ5KKTYZMBX5Y05AR/fWXnEnGKTbh/9Z7Z3OWP3NJH8LVILJFZ7L0SFRRNWHHHNIVA4H20JYQHBSARMTHC1QN+7IG8wcz7JIB5dd7IEfUA9/Qm9s3CMYPF4BQrcXrj/Ro3/BFUaPx+iedUtBXQdy1+P4Zu9Jk2R5l15avQLFo4usEt300Cs+PUPP8W8W4aorwa8ohz1suvtscyimcpvrsgapz6k3p0iveu211/L+ohh5ysw3gsthuggk9em8tcn7dsnqhsaomyu9scevnktq4ugzcov4v2n91hsese0nsxz83jjlrk/qEnsLSIVG++wrr0vs5w6avmwsuhr4lxgymw0gtil5tj7xKoUOa1DH+NKY8FLSCICQNOKJBQDHJU3+PPT3BMNNBORQKPYZWAA1WAWW8IWrgkVynawar55VCC+3YBXxZmK2y/JOZF6CUJFC5P92KKKDFOYTFO6CJWyaoEIBK+WBHKBHXGNEB7GRDJQV3Ghojpawpwptepoaar2odQWyjdunmruabak8ycovpiagx/HTX6OK1HNORK5TCKAJIGyFQE9MKQNW3XXQYUCIB2JC6R3NQFZA8PCWW88NS1JMH3VLUQMOA0BW0KQB6OLCFXN/99VCHAEHHYOJKFVFEH7Q1ZEA1EDGT5Q6KDADNQZMCOCKVEGNN9WAFQADDLCGTJBIBU5AYGDQHDQPAHOCFQPAZSCC2SIGUBKDKQNAC9CKAOIJQHW6Du1aqfaapdnjxoystqqhjzb1iggoagsqhqkxnkkxbtw4qfadpyeftyzdc3iguaa5afia9aqficccgqw1hufycwdsbodmoekb0bofkvtgg2+ecgvaolhqwgkn3cgzqbodpouad1rqejljukadsoomm7i2aagcyc0dsbkamommbubpzlbgyf369bykpr8aiandxvczngtib8nnhugzajqdjgvat6bcagzwbbgcqdyblaggomhqapvv6+mwuggaial
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 17:41:42 | 显示全部楼层
Whats the reason not to set the variables as long as they are localised?
However try this (I don't know how to set it to a macro):
  1. (if (and PDFPS PLO PST)(progn        (foreach LL (layoutlist)                (setvar "ctab" LL)                (command (setq DL (substr (getvar "dwgprefix") 1 (- (strlen (getvar "dwgprefix")) 13)))                         (setq DN (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)))                        (strcat DL DN);                        (setq FS (strcat DL "52 PDFs" (chr 92) DN "-" (getvar "CTAB") ".pdf"))                        "plot" "yes" "" "AutoCAD PDF (General Documentation)" PDFPS "Inches" PLO "No" "Extents" "1:1"                        "Center" "Yes" PST "Yes" "No" "No" "No" FS "Yes" "Yes" "Yes"                )        )        (alert                 "If all settings were selected, PDFs have been made of all layout sheets and saved in the PDFs folder for this project.                They were saved as Project Name-Layout Name"        ))(cond         ((not PDFPS) (alert "\n"PDFPS" was nil!"))        ((not PLO) (alert "\n"PLO" was nil!"))        ((not PST) (alert "\n"PST" was nil!"))))
And BTW the images you've uploaded are not loading.
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:48:19 | 显示全部楼层
A couple of suggestions
 
If you running this a a macro then make it ^c^c^c(load "plotroutine") so it loads a lisp.
 
Have a look at a prefilled dialouge you can put the current value into the boxes and check for any that have not been filled in and ask the question continue or exit completey, the continue will open the dialouge again the exit is just that use (exit) it will end the lisp.
 
Re dialouge you can have say 3 lists so the user can choose the correct option. Me I just have multiple options in a menu so users picks what they want.
175815dhup4ak47xhpdnzs.jpg
175817sirdqnn5rd2rzboq.png
回复

使用道具 举报

9

主题

55

帖子

47

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-5 17:55:44 | 显示全部楼层
 
The reason for that is that way I have everything set up.  I have a panel on the ribbon to select paper size, plot styles, and orientations.  They set the variables that I use in this code.  It just makes it easier to use in my opinion.  I will try the code that you posted out.
 
EDIT:  This works perfectly, thank you very much for your help!
 
Here is the code I ended up using:
  1. ^C^C^C(if (and PDFPS PLO PST) (progn (foreach LL (layoutlist) (setvar "ctab" LL) (command (setq DL (substr (getvar "dwgprefix") 1 (- (strlen (getvar "dwgprefix")) 13))) (setq DN (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))) (strcat DL DN); (setq FS (strcat DL "52 PDFs" (chr 92) DN "-" (getvar "CTAB") ".pdf")) "plot" "yes" "" "DWG to PDF" PDFPS "Inches" PLO "No" "Extents" "1:1" "Center" "Yes" PST "Yes" "No" "No" "No" FS "Yes" "Yes" "Yes")) (alert "PDFs have been made of all layout sheets and saved in the PDFs folder for this project.  They were saved as Project Name-Layout Name")) (cond ((not PDFPS) (alert "No paper size was selected.  Please select paper size and restart command.")) ((not PLO) (alert "No orientation was selected.  Please select orientation and restart command.")) ((not PST) (alert "No plot style was selected.  Please select plot style and restart command."))));
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:59:44 | 显示全部楼层
Again I suggest your code is ^c^c^c(load "a lisp file to be run")
 
Another suggestion http://www.lee-mac.com/listbox.html this is a great little program for allowing selection form dialouge lists, you could add it easy to your existing routine asking for input for  PDFPS PLO PST. This way only 1 program.
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 13:10 , Processed in 0.415117 second(s), 72 queries .

© 2020-2025 乐筑天下

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