块间距lisp
大家早上好。我有一个关于Lisp程序的问题。我想知道这是可能的,还是真的很好。
我在一家太阳能电池板支架公司工作,我们使用CAD在屋顶上填充模块。为这些模块分配颜色,以确定镇流器重量。每种颜色都有一个特定的镇流器块间距,该间距随作业而变化。镇流器块、模块和着色区都在块上,在我们所有的图纸中都保持不变。
目前,我们将每个区块复制并粘贴到我们的图纸中,一些图纸有3000多个区块。这非常耗时,我知道有更好的方法。。。。一些是如何做到的。是否有一种方法可以让例程提示用户每个区域的间距,并用压载块填充布局;一次填充一行或整个图形。
提前谢谢你。 这听起来像是ARRAY命令的作业。
我有什么遗漏吗?
(它询问x间距、y间距,然后复制/粘贴客户端选择的内容) 阵列无法工作,因为每个分区的间距不同。就好像我需要一个“智能”阵列,可以确定它填充的区域;这有意义吗。我将在下面附上一张图片,展示区域是如何变化的。如您所见,简单的array命令将不起作用;除非我遗漏了什么。https://www.cadtutor.net/forum/image/png;base64,Ivborw0kgoaaaansuheugaaaoqaaaaaab5caiaacmzrphaaapjeleqvr4no2dtzlylbdhcxv2s5y7uhlpwyxz2luyzulz2fz5t0e9sk8c94hw/qdbhpmnfdbkhaf78aalqznif2t23v9/MHnv/d8/Pl6PiauryafzZbPdhePr7Q5f2h+Om+3udl7ijemmxlulrihaify2tgero54ymzer9jqrmfqqn49f3d6nkebmnri1z0c6+fa7ime2t BU5Kyrapr1/ZNCuaoskzosolljrmbwycujvnk8jknhjdn0fzgmeswxgikb7q6eciqtjtmjx6jy0wlkleqksvjfjj+cK6ppDaYSXNTozKpdeXkrrDmhaY6LpF10vNhve1FrMhfsSQUOFTHCPY9CNTPUIVKWMKZCWJ53BILPOXSMNRSJQQIJ1EHFLBWNTJDEW6H2GZJLZSPUCCVVV2CEL8WSIAWMPIBRVWG1IRVFXMJYOQD4IALXMKYV7XC66HG1E5HLPORMVNCDANY1KHE2RMQungQC1IVSN4MSHYBMVIGUSNBF5FIU/oQa38/ELFLLS3HIMMGYAWERJE/TNZLGYJBAWVOXVJDEGMPYSHVARZSBB9ME4O30SYWNWBX+ANNCYODSN8OA0IEJLWYS7qprxfh2kphnccdkmc7ooaloynxlizfuetiffggktoxsgdyhglyxdybgzsvj670jkzzyoudnzmzfrmmw0se6bsvrtdnbvfhyovc4gpzzly4tyitcmryvryfhL57yVjPQsfzp4Xr5Dz7JzSNkZXEYe4+WSP3QRX3UJYZHUODRZRIULE6ZJOFVCCYVCSUYEWQWR9JG7HZSDICVGUKVRPJFYUEQSHPVX/UZYsZFknRqPK/ZZB8DaeCvcKCO7khBg1cwhTWcSiRsXlOTIQa+Yewoahqmrxqd6sh4lrkskk1rbwdht48dxfctvaskqdzhmwjl/Lwau9nl2qgzws5vniqpld3lr7tk8jtilynxd5wrdnenu8tsyspa2t2t2t2t2t MDRIUM9KDN+LNW814RHB7BM2RLYWMHXZUAAIU207IOLP65IKMRMS+q9AE/NDFCLAY3BFFZ22FNTY3G6AE+dQRWfkujAuZifGo3DJqloIw5wCRVmQ0f2OfdYWGTfbnQpWrvOCOhX39XJdOYq37LOSZskwbEUAvrLus2bz1/dPPazCHKq4r88LwUfxxn1W/eZGP1jJ4/fbZ230rRLW37bP2qiyYORX7bM2+lyd69n9dezqfvaydk4llkruyzm2ilrcovtcxio7+mumxxl0mrvzfjiod9jxmjyll5rxocllmw7kvip3ydss6savsvsvsvsvsvsvsvsvsvaqw27ffqnngxb07heu9ytuktuxgaljnx36jzututos1jdv1htwww1byzm7aubm+unxkps2www5pq+kfwornmzzzz wzbz20b+/cw5pji40ed4a1mda+ANb2sX8DsxUZGxn/3ac9q3olb8ycavj2c/dbF1OjHBEci+98LkBFUraylgDq9XYL9psdYZGTEh1Q54bUKGkuYzFsArb+y1bbnufkharkzphhbBeuorrrjnbrgquvbkqunlewnyxmswkpz2zpkomlwfgjxbzf7ujnzxum6z5riweq678melppz/kOMpZ9kUVYKXPTpWVDlBMiqW5iFlt7Ou68z5qd8zPZZ+VCwxgZT+dL29aVOO0at9yywY/TosKsQ/mtceetkieze26ay5ae89ln5uldmblvshjlkgzajztixy/vi1qytaxjo4swfrzkdmyxr2e1z8qfhmeyskgwlgurt0hr5cuh5ch5chz KGH2S2SS3CHBOFTLZGA4I5758VXC9LM50NBBxKFhsRefPanH1QR8SJPCWGQQC6G9XSYPMQMJUMVYMAV8XHLN69NMJBLHYZ+MQZ9XY6MBXYPUWAXOIKCEPN1ABRV1U+sF7qtVz3cQI+eXr0m9e99i98iA9rij2U61kJLrPjb0AqybgC53BcmSK8XdUGlhL1yRCCC+cfy8khiryireln77iywmsitmvw1xzyugollncwaom+EJn4PVSpJLyuNE6s1BKQY0WWJ80fA6fGhlfu8/qmndqvuais5xggfbchtwtrjpwoppyfmuj+dsfwrpygg7hrqeswtreyin8ukdxuqevw6/sbbnq6ygj3as6prknimy+jQMbfus1cEPa1FtNkpJdb9mg5CMqfGU/FCg/bkkk BST/0+d/Ekghajqxa2uwcduhcs90n1ujja2paj7pbf2rhcnrvsmrvpvmovngfgsvqxk+THi5+6waKZWZeAtiZJznPmv2jbRFRuGlpo9b2/dz5t6t1zgsjmzjlyukc8l2k54b0o6bbFb5RtoiI/fS/nD0nv8+PQXRACMV0IQ3GFYUKFJXCpVehlfcaxe7DBT3VV7HTPLTQHrgyojmxazBM8C/Sr7d7DawV9y6akVuW2ersq2KncN0N+fK1PLF7J/fxWQOr1dj7afINT6N4rdlGApzpb1wHPOQiuxEEqVLKiGs5MRwUw2o49rjPSzHbmP1bPDeAu94oowGsa4qpnQDyuVT+l/0X976w/V1JP3HxVNUNXP7C+CNczp6+3P6 UPJ4321043R+O8fjr+we+FE5Dvt7up/MF1kpKns4X3FywcDpfTufL1/eP936z3b1cBysxx5v9LbAG1NzHZ/GB2BRE7TFBPVWMHMMES4TQWS2QF/ZRYMoE1bLVEWMOUCH9fLoVJXgasmpXHDPP+cLze7jEoxhzCXjwOCMLTcAzBdf+ohSUhrJvt7nq77w/HAOv+caynlhrwcsrndesbpbgfizf3z8bykhncuqrkewvahlhtnqbi4khid11uryppnc+vfPIHc75QhWJGZ/ooiamy2ssrausfiiix6dybrhfe6w4g68xed9tlaimtril4q1k6zflyxzzzzzlyyurylwxkrj6sx0mk9+k+txuq1npsd2txtjmn8gvjlpgty1ralrwmfd02ksmaxptyspugxnor2b/aaz5jazmzm Oxgtr6grjei//1ielarr2isapixyyrlyxqxjwxjse1vcdnoh6tcb/asxEYtJIeyvKWqUNVTsjNGQIK9lQGO6Kx8Zgx+CXcctgxdUgrKXPaiT9htdJlU30lS/2hrWoiokzXWHFZgXjwmNjsMHkN70FsJIqR1hLn9XI+q2vr7baotmsvughzr1hsqmuakfles8d4mvy9j+4H2Ftc6ZOURW5b88wO/szdiqhbwzgox22w/zu1xwoucgqwrztn1hjqirceftaf9wwrrtjprafnb+wprntovhz3pnd1tiseilgfw7/eb9hbxomrfcqlzxyucqlysy6ssjkxl34qu5rnw0byrvoftlg9kbfvoht614xbammyuspx+elz2s0/+/ol33zmqep50fwbrbg9if+hzhpzlh29rcha67bgm8rzarsarsmxvaiu/rzga7e81yi0tefzsbdmevc4dkjjt4t6ra+8I5rByRhph1dcqbcjEGY4AWzHrSJ2Y25v4kj2sHFgTtRAR+uOebxjxwbchaympncywygkclnsici4zuxstn/4prvwk2cgr1acbvjtbj1pjbbyswplassnv9hrxpmtbdkpgijgaonj/WwcgsRPalk51dY65x5IayaVYGsSV9Y8WoDx3ZNlzyVbPXl2rIy295QtTNCQ7awCg0p16+yjh1hlvpfy9zcbqaxtyhmc0lorgdylgnseu2vew0/evmb8bqraoegzjbuntne6rwdcfkns9qougpoaqdxws26zrdakpxoggnrsvbd6fqchn 9zzseswwfuixgeri2kdhqn1awbdmtjro0oq+CH3vUFDf+yzI6EtX1V0BdWq/XrgoZ/WWaHwWqyftW4+vX9w+57rfusizb7fvusm+2OxVyzz+qfE9fMS/ZZlb6Vmu3krXnXBsAqf0aVtC68VL/P+mBUsc8K/ebam8M+65vBqqnbG1Zu3cntRsFTHJtrYCUtCvus0D+YVZNS66WGRPKKUAQIQMRJFR1+6YCCNxFZ3W6HCSKA6NZOCBA5BJ35EV6FVZCGSQLES49KO32CBQV2KTMMPGTNGSLECHLXUC84SXGCKQWICG0M6IFA4DMNYK5JCBHDQUH2AF+RBRR4MA6PNR4W1YHPSLLKFYFUCSMI/E2F9WLNHSGDJGKNVO2HBVPUXNUDNNF 6lkyqhb9kwfvdh8nrggkh2dentdmhufw8rfdqg33jj8kbdg7tvckpjnjovqnq+sbk0ivmxweuflnveyb6sq2yu2gpck2mwc/iXRFbh9oP0U4jBHSMrqRTXknKfdV2z2nZNOQGq16zYeEKwEpXp+bkbss8fsgjbedv5ilnr0mk6g2dynt2sfbsb5hal77qogtugla6w1nusknmfypnh3yllr0n8xftnnvjw5oufs0tilqxiyt5sm4ckrgipp/ol1zyubbus9qrmpvlzyovi5oyrhbbxxgha+7w9H7/mwr4+s+lhin9vc0x6trcssmj388qxyemilpdhdf/9+Xq718M6+fs5h9b1nlndk3nboxdklvcr2u7emndk7 Zygzi4j6m4uriu9bcw7liju1cvh/63NDsA1pHJVcNqRSq3hzDP4V+w2qgwrd4sjvt31vjiolpnbaaktpnfaz7hw7atexkzbgyabrdngw1e7jtjp1nwev3hiby5bsc/ghamtau49kcevp12cysgcRLne7u7jc7PdhdP94RiPv75/4EVHNOT7X46X2CTPOTPFMHNBQUN8+V0vnx9/3jvN9vdy3WwEnO82d8Ca0DNfXyGv5Gt6+1+vd3DxcBxLBlOY7GkVtj8iyUTWMO+YIQTINW9+VSmOQV1o55fzheb/cYFGMOYS8eBwThaTiG4Lp/1MKSENBDNE93FEHY4B1FZIGRLDYG80WW4RGYVI8S04XLH38FN1/RMGDQEBZUQ0Heny14EZEZ YMP6EMXEI4XCJKJVISYV16IMBFYVAHIW6Q2CGAA+GKybiGBOmMTY/vfo80F1ihN+8RWZOVaIyO+CVhzQprcSUhmmtkrWhLeJX9vJ6DdaE5uZEP69eQwn26z+0GJLU22x1ZMua3gZXMs4D1weh7wdqYydhZmldYG82y3y7177VmXdPMUxmsSTmPYE1rWnz0Kju3rHk/K7PkkBmahcbbSSiDFReSYV2/ijhzs8ngty1zevjjegksvqr2gqfvrbsfq3mysdkvczbmvc1koti/R/3WwEpibvo1tqKsVdpQtTNCQ4awkg35wsdECK7C73DJPv8HvF/kxblmspqaaaasauvork5cyii=https://www.cadtutor.net/forum/image/png;base64,Ivborw0kgoaaaansuheugaaaoqaaaaaab5caiaacmzrphaaapjeleqvr4no2dtzlylbdhcxv2s5y7uhlpwyxz2luyzulz2fz5t0e9sk8c94hw/qdbhpmnfdbkhaf78aalqznif2t23v9/MHnv/d8/Pl6PiauryafzZbPdhePr7Q5f2h+Om+3udl7ijemmxlulrihaify2tgero54ymzer9jqrmfqqn49f3d6nkebmnri1z0c6+fa7ime2t BU5Kyrapr1/ZNCuaoskzosolljrmbwycujvnk8jknhjdn0fzgmeswxgikb7q6eciqtjtmjx6jy0wlkleqksvjfjj+cK6ppDaYSXNTozKpdeXkrrDmhaY6LpF10vNhve1FrMhfsSQUOFTHCPY9CNTPUIVKWMKZCWJ53BILPOXSMNRSJQQIJ1EHFLBWNTJDEW6H2GZJLZSPUCCVVV2CEL8WSIAWMPIBRVWG1IRVFXMJYOQD4IALXMKYV7XC66HG1E5HLPORMVNCDANY1KHE2RMQungQC1IVSN4MSHYBMVIGUSNBF5FIU/oQa38/ELFLLS3HIMMGYAWERJE/TNZLGYJBAWVOXVJDEGMPYSHVARZSBB9ME4O30SYWNWBX+ANNCYODSN8OA0IEJLWYS7qprxfh2kphnccdkmc7ooaloynxlizfuetiffggktoxsgdyhglyxdybgzsvj670jkzzyoudnzmzfrmmw0se6bsvrtdnbvfhyovc4gpzzly4tyitcmryvryfhL57yVjPQsfzp4Xr5Dz7JzSNkZXEYe4+WSP3QRX3UJYZHUODRZRIULE6ZJOFVCCYVCSUYEWQWR9JG7HZSDICVGUKVRPJFYUEQSHPVX/UZYsZFknRqPK/ZZB8DaeCvcKCO7khBg1cwhTWcSiRsXlOTIQa+Yewoahqmrxqd6sh4lrkskk1rbwdht48dxfctvaskqdzhmwjl/Lwau9nl2qgzws5vniqpld3lr7tk8jtilynxd5wrdnenu8tsyspa2t2t2t2t2t MDRIUM9KDN+LNW814RHB7BM2RLYWMHXZUAAIU207IOLP65IKMRMS+q9AE/NDFCLAY3BFFZ22FNTY3G6AE+dQRWfkujAuZifGo3DJqloIw5wCRVmQ0f2OfdYWGTfbnQpWrvOCOhX39XJdOYq37LOSZskwbEUAvrLus2bz1/dPPazCHKq4r88LwUfxxn1W/eZGP1jJ4/fbZ230rRLW37bP2qiyYORX7bM2+lyd69n9dezqfvaydk4llkruyzm2ilrcovtcxio7+mumxxl0mrvzfjiod9jxmjyll5rxocllmw7kvip3ydss6savsvsvsvsvsvsvsvsvsvaqw27ffqnngxb07heu9ytuktuxgaljnx36jzututos1jdv1htwww1byzm7aubm+unxkps2www5pq+kfwornmzzzz wzbz20b+/cw5pji40ed4a1mda+ANb2sX8DsxUZGxn/3ac9q3olb8ycavj2c/dbF1OjHBEci+98LkBFUraylgDq9XYL9psdYZGTEh1Q54bUKGkuYzFsArb+y1bbnufkharkzphhbBeuorrrjnbrgquvbkqunlewnyxmswkpz2zpkomlwfgjxbzf7ujnzxum6z5riweq678melppz/kOMpZ9kUVYKXPTpWVDlBMiqW5iFlt7Ou68z5qd8zPZZ+VCwxgZT+dL29aVOO0at9yywY/TosKsQ/mtceetkieze26ay5ae89ln5uldmblvshjlkgzajztixy/vi1qytaxjo4swfrzkdmyxr2e1z8qfhmeyskgwlgurt0hr5cuh5ch5chz KGH2S2SS3CHBOFTLZGA4I5758VXC9LM50NBBxKFhsRefPanH1QR8SJPCWGQQC6G9XSYPMQMJUMVYMAV8XHLN69NMJBLHYZ+MQZ9XY6MBXYPUWAXOIKCEPN1ABRV1U+sF7qtVz3cQI+eXr0m9e99i98iA9rij2U61kJLrPjb0AqybgC53BcmSK8XdUGlhL1yRCCC+cfy8khiryireln77iywmsitmvw1xzyugollncwaom+EJn4PVSpJLyuNE6s1BKQY0WWJ80fA6fGhlfu8/qmndqvuais5xggfbchtwtrjpwoppyfmuj+dsfwrpygg7hrqeswtreyin8ukdxuqevw6/sbbnq6ygj3as6prknimy+jQMbfus1cEPa1FtNkpJdb9mg5CMqfGU/FCg/bkkk BST/0+d/Ekghajqxa2uwcduhcs90n1ujja2paj7pbf2rhcnrvsmrvpvmovngfgsvqxk+THi5+6waKZWZeAtiZJznPmv2jbRFRuGlpo9b2/dz5t6t1zgsjmzjlyukc8l2k54b0o6bbFb5RtoiI/fS/nD0nv8+PQXRACMV0IQ3GFYUKFJXCpVehlfcaxe7DBT3VV7HTPLTQHrgyojmxazBM8C/Sr7d7DawV9y6akVuW2ersq2KncN0N+fK1PLF7J/fxWQOr1dj7afINT6N4rdlGApzpb1wHPOQiuxEEqVLKiGs5MRwUw2o49rjPSzHbmP1bPDeAu94oowGsa4qpnQDyuVT+l/0X976w/V1JP3HxVNUNXP7C+CNczp6+3P6 UPJ4321043R+O8fjr+we+FE5Dvt7up/MF1kpKns4X3FywcDpfTufL1/eP936z3b1cBysxx5v9LbAG1NzHZ/GB2BRE7TFBPVWMHMMES4TQWS2QF/ZRYMoE1bLVEWMOUCH9fLoVJXgasmpXHDPP+cLze7jEoxhzCXjwOCMLTcAzBdf+ohSUhrJvt7nq77w/HAOv+caynlhrwcsrndesbpbgfizf3z8bykhncuqrkewvahlhtnqbi4khid11uryppnc+vfPIHc75QhWJGZ/ooiamy2ssrausfiiix6dybrhfe6w4g68xed9tlaimtril4q1k6zflyxzzzzzlyyurylwxkrj6sx0mk9+k+txuq1npsd2txtjmn8gvjlpgty1ralrwmfd02ksmaxptyspugxnor2b/aaz5jazmzm Oxgtr6grjei//1ielarr2isapixyyrlyxqxjwxjse1vcdnoh6tcb/asxEYtJIeyvKWqUNVTsjNGQIK9lQGO6Kx8Zgx+CXcctgxdUgrKXPaiT9htdJlU30lS/2hrWoiokzXWHFZgXjwmNjsMHkN70FsJIqR1hLn9XI+Q2vr7BaOTMSVuGHCZr1HsQmuaKFles8d4MVy9j+4H2Ftc6ZOURW5b88wO/SZbDiQhBWzgoX22W/ZU1XWOucGQwrztn1HjQirCeF Here is an example of it. It is almost like i need a smart array to determine what zone the array is populating. Any suggestions? Let me get an idea of what exacly you have to do.
When you start drawing, those rectangles with colors are already there, and you have to fill in those small, vertical rectangles.
example: row 30: the non-hatched region (between the two green regions) requires a ballast every 1200 length units; while the red region on row 29 requires a ballast every 600 units.
Right?
What do those colored rectangles look like?Are those blocks?Is this hatch filled in manually or is there some button (visibility parameter) to change the color of the hatch? Do they contain an attribute with the spacing value ? ...Anything like that?
When i start drawing I only have the roof layout. I have to put the panels on the roof layout (the panels are blocks), and then colour it to our engineering standards. The hatched colouring is a block, so are the panels (each colour, red, blue green yellow have their own block and own layer). The small rectangles are ballasts and those are blocks as well. Each ballast block will have its own spacing which is dependent on the zone it is it (both front and rear block have different spacing). ex. yellow zone could have 800mm rear 950mm front, blue 1125mm front 1875mm rear. I think this is about what you need.
Can you arrange your blocks to have the items I'm reading?
Or what exactly do you have; what do your blocks look like?
It works for 1 row (at a time); I expect each row to be horizontal (same y-point); you can always rotate everything later.
--------
; load extra recources(vl-load-com)(defun ballast ( / blocks x_values sorted_indexes block spacing x_pointer lft rgt width_panel y_value)(princ "\nSelect the solar panel blocks (cross select)") (setq i 0 spacing 0.0 x_pointer 0.0 ;; x_pointer is like the needle of a turn table.We set it to the x of the left panel block, then it only increases untill we get to the right panel x_values (list) blocks (ssget ":N" ;; client makes a cross select (list (cons 0 "INSERT") ) ) ) ;; we read the y-value of the first panel (setq y_value (nth 2 (assoc 10 (entget (ssname blocks 0)))));; we make an array (list) containing the x-value of the insert point(repeat (sslength blocks) (setq x_values (append x_values (list (cadr (assoc 10 (entget (ssname blocks i))));; returns the insert point, x-value ))) (setq i (+ i 1)) );; we sort this last list, from left to right.sorted_indexes contains the index (to be used in the "nth" and "ssname" function) (setq sorted_indexes (vl-sort-i x_values (function (lambda (e1 e2) (< e1 e2))) )) ;; we set x_pointer to the x-value of the left panel (setq x_pointer (nth (nth 0 sorted_indexes) x_values)) ;; calculate the width of the panel(setq width_panel (- (nth (nth 1 sorted_indexes) x_values) (nth (nth 0 sorted_indexes) x_values) ));; we loop over sorted_indexes. (setq i 0) (repeat (length sorted_indexes) (setq block (VLAX-ENAME->VLA-OBJECT (ssname blocks (nth i sorted_indexes)))) ;; set left and right point of the panel (setq lft (nth (nth i sorted_indexes) x_values) rgt (+ lft width_panel) ) ;; we look for the "SPACING" attribute (foreach Attribute (vlax-invoke Block "GetAttributes") (if (= (vla-get-TagString Attribute) "SPACING") (progn (setq spacing (atof (vla-get-TextString Attribute))) ;; (while (< x_pointer rgt) (progn (AT:InsertBlock "ballast" (list x_pointer y_value) 1.0 1.0 0.0) (setq x_pointer (+ x_pointer spacing)) ) ) (princ "\n") ) ) ) (setq i (+ i 1)) ));;; Insert block into drawing;;; #Name - name of block;;; #InsPt - insert point;;; #XScale - block X scale;;; #YScale - block Y scale;;; #Rot - block rotation;;; Alan J. Thompson, 04.21.09(defun AT:InsertBlock (#Name #InsPt #XScale #YScale #Rot) (if (or (tblsearch "block" #Name) (findfile #Name) ) ;_ or (vla-insertblock ((if (eq (getvar "cvport") 1) vla-get-paperspace vla-get-modelspace ) ;_ if (vla-get-ActiveDocument (vlax-get-acad-object) ) ;_ vla-get-ActiveDocument ) (vlax-3d-point #InsPt) #Name #XScale #YScale #XScale #Rot ) ;_ vla-insert-block ) ;_ if) ;_ defun;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(defun c:ballast ( / ) (ballast) (princ))
spacing.dwg This is exactly what I was thinking of. Im glad it is possible. It works great in your test drawing which you have provided however in my drawings I am unable to make it work. Maybe i am using incorrect blocks, or attributes? I have attached a sample layout with blocks I would typically use.
test.dwg - My code requires a block called "ballast".This is the block that will be inserted.
You can change this line, change "ballast" into your block name.
(AT:InsertBlock "ballast" (list x_pointer y_value) 1.0 1.0 0.0)
- The panel block (block name does not matter) requires an attribute with the tag: "SPACING"; the contents has to be the spacing value.
I don't have Autocad installed here, I will look at your file tomorrow. I made a change to the block name in the routine and it worked just like it did in your test. That being said, there is still one issue. The panels have a row of ballast blocks in the rear and the front. Both of which have different spacings. Is there a way to have two sets of attributes per panel?
页:
[1]
2