Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. AONE_LED

    Photometric light issue

    If spotlights show nothing in a render, check these. First, DEFAULTLIGHTING must be off (0) once you add your own lights; also set LIGHTINGUNITS to 2 so you get photometric lights, and check the units in INSUNITS match your drawing. Second, spotlight intensity is often too low for the scale of the scene: in the Properties palette raise the intensity (or lamp flux) and check the hotspot and falloff angles, since a narrow cone can miss the surface. Third, make sure the spotlight's target points at the geometry and is not behind a surface. Finally, check the light is On and its layer is not frozen, and in the render settings use at least medium quality, with exposure adjusted, because a photometric scene can render dark at default exposure.
  3. AONE_LED

    Photometric Web File Not Valid

    Some things to check with the "photometric web file is not valid" message. First, save the .IES as plain ASCII text with the .ies extension, with the bracketed keyword lines at the top and the TILT line directly before the numeric data. Second, the light stores the file path, so if the file was edited or moved after attaching it, re-select it in the Properties palette (Web file) to re-attach it. Third, test with a known-good manufacturer IES to see whether the problem is the file or the drawing. For a 4 ft fluorescent, a manufacturer's linear luminaire IES on a Weblight is usually more reliable than a hand-built one, and it avoids modelling a glass tube, which is what makes the render so slow.
  4. Paul Li

    annotative text/leaders

    you're welcome...I did have to go back & forth with chatgpt a few times before it finally got it right...of course it does help to know a bit about lisp to know when the lines of code provided make sense...sometimes I wonder if I'm teaching it to learn or is it training me to do better...lol
  5. Today
  6. masterfal

    annotative text/leaders

    appreciate the feedback guys. i guess chatgpt > copilot for this sorta stuff then. spent a good hour or so going around in circles with copilot
  7. Yesterday
  8. Then there's this by ChatGPT to replace Express Tools Burst with lisp version that converts Attributes to Text keeping the original Attributes. This can be run with Accoreconsole in a script: (BurstAttrBlock BlockNameWithAttributes) BurstAttrBlock.lsp BurstAttrBlock.scr
  9. As programmable as AutoCAD can be, Excel (and LibreOffice Calc, et. al.) IMO handle Text, MText, Attributes, etc. much better.
  10. I forgot about this. Att2Text.lsp converts attributes in a block to text outside the block, removes the attribute from the block and Att2TxtBlk.lsp converts attributes in a block to text outside the block, leaves the attribute in the block. Att2Text.lsp Att2TxtBlk.lsp
  11. SLW210

    Center mark replacement

    I almost forgot, I ended up redoing the original turn off the center mark for diameter and radius dimensions to better maintain associativity. If there is still an issue with losing associativity for the dimensions you can run this separately. If there are still center marks, they are likely hard-coded overrides and I couldn't find any method to keep from breaking associativity in those instances. Maybe someone smarter or at least more familiar with such cases can explain a better method. F_Off_Mrks.lsp
  12. AONE_LED

    question re. blocks

    Another route: since each luminaire type is already on its own layer, pick one exported block per type and make a proper block from it (or use your standard library block), keeping the same insertion point at the fixture centre. In current AutoCAD versions, BLOCKREPLACE lets you select all the unique blocks on that layer and replace them in one go with the chosen block. Select them first with QSELECT or SELECTSIMILAR, filtering by layer. On LT 2018 there is no BLOCKREPLACE, so use a free swapblock-style LISP only if your LT build supports it, or insert your block and copy it to each fixture position using the exported blocks as a guide. Check scale and rotation afterwards, because exported fixtures can differ in units. Keep all luminaires on a dedicated lighting layer.
  13. AONE_LED

    Dialux to Autocad

    DIALux exports each luminaire as its own uniquely named block, so the names can't be changed at export. Best fix is after export: put one luminaire of each type on its own layer (DIALux usually keeps types on separate layers), then create a single clean block for that type, with the insertion point at the fixture centre. Use the Express Tools BLOCKREPLACE (or SWAPBLOCK, or the native BLOCKREPLACE in AutoCAD 2023 and later) to swap all the exported blocks on that layer for your block. Select them with QSELECT or SELECTSIMILAR first. Check the scale and rotation after the swap, since DIALux blocks are often in metres or millimetres. Finally, purge the old blocks and keep all fixtures on a dedicated lighting layer.
  14. Ever sent a drawing to a colleague, only to get a message back that the xrefs are missing? Or the font is wrong? AutoCAD eTransmit exists to prevent exactly that. It bundles a drawing together with everything it depends on, including xrefs, images, fonts, plot styles, and other referenced files, into a single package that’s ready to send. Most people use it with default settings and never look further, but there are some features in the dialog that a casual user may not be aware of. Today, I’m going to walk through them. How to open AutoCAD eTransmit and use Transmittal Setups First things first. You can find eTransmit in the Application Menu (the big red A in the corner), within the Publish fly-out menu. Or you can be like me and type in ET from the command line or dynamic input box. eTransmit will be your first option. The Create Transmittal dialog will appear. You’ll see the files tree, where all of the references and support files will be displayed. You’ll also select other drawings to transmit here. On the right, there will be a list of saved transmittal setups, with Standard being the default option. Below that is a very important button: the Transmittal Setups button. Clicking it displays a small dialog that allows you to create or remove setups, rename them, or, most importantly, Modify them. Choose the setup that you want, and click the Modify button. In all honesty, as a CAD Manager I would rarely create new setups, but would just modify Standard to my current needs. I would always check the settings first anyway, so I found no point in predefining them. As always, your mileage may vary. The Transmittal Setup options Finally, the Modify Transmittal Setup dialog will appear. This is where the rubber meets the road. There are four panels in the dialog: The type and location, path options, other actions, and what types of entities get included in the transmittal package. Let’s look at each. First up is the type and location. You can write the files to a folder (or folders), or have it create a Zip file for you. Your choice. Note that if you select to make a Zip file, the bottom file name option will become disabled. Your next choice is the file format. You can keep the files in their current DWG format, or save down to anything from 2000 on. I’ve had clients that require a certain format – it happens. This is also a convenient way to batch file format change. Below that is a checkbox for visual fidelity. Please click the info icon next to it for a detailed explanation, but typically, leave it checked, especially if you use annotative objects. If you don’t, it won’t matter anyway. Next, define where the files you’re creating will be saved. Only you know where this will be, but please choose wisely. Next is the path options section. This section is very important. When the transmittal reaches its destination (let’s say another company), how do they see it? How do the references resolve? You can create an organized folder structure that is the same as your project. It is also the default. You’ll simply need to specify the root folder of the project. This option is for references that utilize relative pathing. The recipient can place it in any folder structure that they want, and everything will resolve. The bottom two options are for those who do not use relative pathing. You can keep them “as is”, in which case the recipient will need to make sure they have a duplicate server drive setup as you do. Or, you can specify that the new files will all be written into a single folder. Why would you do that? Since they all have hard-coded reference paths, how will they resolve? Before considering the save path, AutoCAD always looks in the current folder for the reference, and if not found, only then does it try the saved path. This option lets you get away with the not-so-great option of hard-coded pathing. Moving on the upper right section, you have some checkbox options to choose from, a couple of which are what I consider just being a friendly transmitter. Unless you have a firm directive to do otherwise, please set the default plotter to “none” and purge the drawings as you go. That leaves us with Bind External References. Much like using the save format as a batch save-down tool, this option can be used as a batch binding tool. Selecting this option will allow you to bind as a “bind” or an “insert”. If you’re doing this, you should already know the difference. But here’s a hard-learned lesson for you. There are a LOT of things that will keep an Xref from binding, but this option does nothing to warn you about whether it succeeds or not. You’ll finish the transmittal and assume that everything bound correctly. Do not trust that it succeeded. Whenever I use this option, I always use the external Reference Manager to check the transmittal. Please take heed. Future you will thank me. Finally, it’s up to you to choose what gets included in the transmittal (or not). If you use some custom fonts, you may want to send them along so that the drawings appear as yours do. The middle three options are on by default, but even if your files don’t contain any of them, it won’t affect anything. The last option is for including unloaded references. I’m sure there are reasons to include these, but generally, if a reference is unloaded, there’s a good reason, and sending it along would only create unnecessary bloat in the transmittal. Again though… you do what you need. AutoCAD eTransmit and Sheet Set Manager I kind of glossed over the file selection button in the first dialog. Projects can get large. Manually selecting your files doesn’t need to be tedious, which is yet another reason to use AutoCAD’s Sheet Set Manager. The eTransmit command is right there for you. Hey, when it comes time to transmit your drawings or entire project to someone else, make sure they’re happy with what they get. You wouldn’t want to get drawings with references that don’t resolve, so why would they? Always transmit friendly files with eTransmit. More Tuesday Tips Check out our whole Tuesday Tips series for ideas on how to make AutoCAD work for you. The post AutoCAD eTransmit: Tuesday Tips With Frank appeared first on AutoCAD Blog. View the full article
  15. Maybe yes, that would work, and in excel just combine any attributes that need to be - formula for that I guess if doing many sheets
  16. SLW210

    Center mark replacement

    I may attempt to get it to work with the proxy objects eventually, but for now I will just create drawings in AutoCAD 2000i and get those working first. Maybe using DWG Convert works better? -ExporttoAutoCAD would probably work.
  17. SLW210

    annotative text/leaders

    I didn't test @Paul Li's codes, but there is... Annotative text conversion - AutoLISP, Visual LISP & DCL - AutoCAD Forums
  18. I wonder if exporting the Attribute Values to Excel, then back into the new titleblock would be better? @Lee Mac has Update Titleblock Attributes | Lee Mac Programming and @ziele_o2k has... Export Title Blocks to CSV for Lee's Update Title Block - AutoLISP, Visual LISP & DCL - AutoCAD Forums
  19. Technically that's an Express Tool, there used to be several other similar LISPs around as well, there might be one that can do as you wish. In the meantime, just type Multiple, when prompted for the command enter MOCORO, it will stay active after you exit.
  20. The MOCORO command is pretty useful at times. It combines the move, copy, rotate and scale commands into one. Handy if you want to use two or more of these commands on a single object. It would be better if you could change your selection without breaking the command or if it had a reference option for rotate and scale.
  21. I don't seem to have this problem these days but I would think it's just something you need to solve by trial and error until you get the result you desire. I'm sure you're aware of the 'scale lineweights' option in the plot settings which may help but I haven't experimented with this. I rarely set a layer to anything other than the default lineweight (0.25mm), nor do I use custom plot styles, preferring to use acad/lt.ctb instead. For polylines I always set a global thickness and for the symbols (blocks) I create I usually set all object lineweights within it to 0.00mm as they are fairly detailed and most often used at a small scale, using a higher setting will likely blur that detail.
  22. Paul Li

    annotative text/leaders

    Straight out of ChatGPT providing both No & Yes versions MldAnoY.lsp MldAnoN.lsp
  23. I was considering a situation where a mechanical component is imported from another CAD platform as a collection of curves and splines rather than clean lines, arcs, and polylines. The geometry may look correct, but small deviations can cause problems when creating toolpaths, measuring profiles, or preparing manufacturing drawings. Converting everything into polylines with a fixed tolerance can also distort critical curves. How do you decide the right curve-fitting tolerance when converting imported geometry? Do you preserve the original splines, approximate them with arcs, or use another approach to maintain manufacturing accuracy?
  24. Hi all, I've been looking into finding a way to change annotative text multileaders from yes to no via lisp and i've had no luck. does anybody know if its possible? not sure why its so difficult. i want to be able to remove (not to delete just change from yes to no) all objects with annotative text from a drawing including nested objects. (im running full version autocad 2026)
  25. Try using `REGION` and `INTERSECT` to check for collisions as you rotate and slide the box through the opening. This method is more accurate than using a circle. The `REGION` command helps define the shape of the box and `INTERSECT` checks if it overlaps with the opening. It gives results because it follows the exact shape of box instead of relying on a circle that might be too big or too small. You can test this by moving the box and checking for collisions at each step. It works well when the box is, at odd angles. Just make sure the box and the opening are properly defined as regions.
  26. @Discus84 I have found that when creating geometry to be used with the parametric feature it is best not to create any lines or polylines orthogonal to the world. E.g., Create you box somewhat rotated and then it's clearer what constraints you need, both dimensional and geometric constraints.
  27. It works as expected...I'm running Autocad clone now and it's hard to get the constraint definitions but this certainly works ! Thanks
  28. Last week
  29. Lee Mac

    Dynamic variables

    A contrived exercise to demonstrate the performance considerations: (defun foo1 ( lst ) (vl-sort lst (function (lambda ( s1 s2 ) (compare (splitstr s1) (splitstr s2)) ) ) ) ) (defun foo2 ( lst ) (mapcar '(lambda ( n ) (nth n lst)) (vl-sort-i (mapcar 'splitstr lst) 'compare) ) ) (defun compare ( l1 l2 / x y ) (while (and l1 l2 (= (setq x (car l1)) (setq y (car l2)))) (setq l1 (cdr l1) l2 (cdr l2) ) ) (cond ( (null l1)) ( (null l2) nil) ( (and (numberp x) (numberp y)) (< x y) ) ( (numberp x)) ( (numberp y) nil) ( (< (strcase x) (strcase y))) ) ) (defun splitstr ( str ) (read (strcat "(" (vl-list->string (apply 'append (mapcar (function (lambda ( a ) (if (< 47 a 58) (list a) (list 34 a 34) ) ) ) (vl-string->list str) ) ) ) ")" ) ) ) _$ (setq mylist (makelist 100)) ("byo547swd" "niq983ocu" "aca823vdk" "wtq568rur" "phi902niq" "bjh526uzd" "rji359jxn" "qqv937rwf" "tug083pja" "gad189ena" "lte537pir" "laa124lqe" "pjd997nvz" "opt105nif" "lbg559zsq" "tpj226ohq" "jdo941odr" "pyl665lro" "hoi547oxb" "tke599mge" "tqm797yrt" "dlm480ido" "jlt529gio" "dtl751rtz" "lpi310zks" "rit617cpr" "qdf999kec" "lkz260ohj" "xlg106fuk" "dqj592rbs" "rza409lss" "phx280fll" "rft924rac" "xrt327nir" "mil320zdh" "sec951fzz" "hng963son" "bhm360nws" "whv768vre" "sub738cgn" "udp152qpy" "bfv499vpg" "bef375dxu" "sne299abt" "jwg218naf" "kul046lji" "opm274fep" "xqb135wrk" "vug239ccx" "yvk063bnl" "cca701lfg" "upy690bri" "nsj806ovt" "igt413wky" "ftw622pra" "jsm813cre" "fnd378khc" "utk011unn" "hkm488zlv" "naw752kdp" "gze062nrv" "ytt910gzi" "eeq942uez" "rbm719yzv" "adu204kgv" "voo553bzq" "qah335lvg" "oky453mna" "bye070dci" "uwt849qig" "nkg662cbj" "koy546cve" "fgp548fhm" "hxm087okh" "atb056yvr" "jxz680bdn" "ofc383clx" "ran801jgt" "dai951aut" "muc372eji" "dmv843wdj" "mwl251acq" "skn266edb" "stz033eih" "qbm300sjp" "tax196nfk" "uix079eqf" "evl716cui" "tjl236dov" "mod149kqp" "cai814mxb" "yyf245cfk" "occ503uit" "csd182gul" "jgs728fmy" "hga698aqi" "hfk752ize" "vra872olq" "bjm266zaq" "zva674kji") _$ (foo1 mylist) ("aca823vdk" "adu204kgv" "atb056yvr" "bef375dxu" "bfv499vpg" "bhm360nws" "bjh526uzd" "bjm266zaq" "bye070dci" "byo547swd" "cai814mxb" "cca701lfg" "csd182gul" "dai951aut" "dlm480ido" "dmv843wdj" "dqj592rbs" "dtl751rtz" "eeq942uez" "evl716cui" "fgp548fhm" "fnd378khc" "ftw622pra" "gad189ena" "gze062nrv" "hfk752ize" "hga698aqi" "hkm488zlv" "hng963son" "hoi547oxb" "hxm087okh" "igt413wky" "jdo941odr" "jgs728fmy" "jlt529gio" "jsm813cre" "jwg218naf" "jxz680bdn" "koy546cve" "kul046lji" "laa124lqe" "lbg559zsq" "lkz260ohj" "lpi310zks" "lte537pir" "mil320zdh" "mod149kqp" "muc372eji" "mwl251acq" "naw752kdp" "niq983ocu" "nkg662cbj" "nsj806ovt" "occ503uit" "ofc383clx" "oky453mna" "opm274fep" "opt105nif" "phi902niq" "phx280fll" "pjd997nvz" "pyl665lro" "qah335lvg" "qbm300sjp" "qdf999kec" "qqv937rwf" "ran801jgt" "rbm719yzv" "rft924rac" "rit617cpr" "rji359jxn" "rza409lss" "sec951fzz" "skn266edb" "sne299abt" "stz033eih" "sub738cgn" "tax196nfk" "tjl236dov" "tke599mge" "tpj226ohq" "tqm797yrt" "tug083pja" "udp152qpy" "uix079eqf" "upy690bri" "utk011unn" "uwt849qig" "voo553bzq" "vra872olq" "vug239ccx" "whv768vre" "wtq568rur" "xlg106fuk" "xqb135wrk" "xrt327nir" "ytt910gzi" "yvk063bnl" "yyf245cfk" "zva674kji") _$ (foo2 mylist) ("aca823vdk" "adu204kgv" "atb056yvr" "bef375dxu" "bfv499vpg" "bhm360nws" "bjh526uzd" "bjm266zaq" "bye070dci" "byo547swd" "cai814mxb" "cca701lfg" "csd182gul" "dai951aut" "dlm480ido" "dmv843wdj" "dqj592rbs" "dtl751rtz" "eeq942uez" "evl716cui" "fgp548fhm" "fnd378khc" "ftw622pra" "gad189ena" "gze062nrv" "hfk752ize" "hga698aqi" "hkm488zlv" "hng963son" "hoi547oxb" "hxm087okh" "igt413wky" "jdo941odr" "jgs728fmy" "jlt529gio" "jsm813cre" "jwg218naf" "jxz680bdn" "koy546cve" "kul046lji" "laa124lqe" "lbg559zsq" "lkz260ohj" "lpi310zks" "lte537pir" "mil320zdh" "mod149kqp" "muc372eji" "mwl251acq" "naw752kdp" "niq983ocu" "nkg662cbj" "nsj806ovt" "occ503uit" "ofc383clx" "oky453mna" "opm274fep" "opt105nif" "phi902niq" "phx280fll" "pjd997nvz" "pyl665lro" "qah335lvg" "qbm300sjp" "qdf999kec" "qqv937rwf" "ran801jgt" "rbm719yzv" "rft924rac" "rit617cpr" "rji359jxn" "rza409lss" "sec951fzz" "skn266edb" "sne299abt" "stz033eih" "sub738cgn" "tax196nfk" "tjl236dov" "tke599mge" "tpj226ohq" "tqm797yrt" "tug083pja" "udp152qpy" "uix079eqf" "upy690bri" "utk011unn" "uwt849qig" "voo553bzq" "vra872olq" "vug239ccx" "whv768vre" "wtq568rur" "xlg106fuk" "xqb135wrk" "xrt327nir" "ytt910gzi" "yvk063bnl" "yyf245cfk" "zva674kji") _$ (equal (foo1 mylist) (foo2 mylist)) T _$ (benchmark '((foo1 mylist) (foo2 mylist))) Benchmarking ..........Elapsed milliseconds / relative speed for 128 iteration(s): (FOO2 MYLIST).....1953 / 4.84 <fastest> (FOO1 MYLIST).....9453 / 1.00 <slowest>
  1. Load more activity
×
×
  • Create New...