Jump to content

Leaderboard

  1. mhupp

    mhupp

    Trusted Member


    • Points

      10

    • Posts

      2,248


  2. Lee Mac

    Lee Mac

    Trusted Member


    • Points

      9

    • Posts

      21,101


  3. lastknownuser

    lastknownuser

    Community Member


    • Points

      7

    • Posts

      131


  4. Steven P

    Steven P

    Trusted Member


    • Points

      6

    • Posts

      3,005


Popular Content

Showing content with the highest reputation since 06/03/2026 in Posts

  1. I've now updated this program to support resetting components of the incrementing string back to a given value with a given frequency - the latest version can be downloaded from my site: https://lee-mac.com/numinc.html
    7 points
  2. Just to add something more from me, as I did try to understand this problem as much as I could back then when I was working on my solution. Boundary command probably uses Pixel-Based Areas (Boundary Fill) method, that's why you have to see whole area on your screen. You can google what that is and how it works, but it makes sense to me considering there is a precision problem depending on "zoom" level. As for Hatch, it works the same for "pick points" method (boundary command + add hatch for that polyline), but if you choose "select objects" then it works as completely different method (just math without graphics part) and that's why its more accurate in this example. It all depends what you have as starting variables and what you need in the end. If you can, and its not a problem to select all lines, then CBoundray function from post above will work okay. This works like the Hatch by selecting objects... Of course clicking just one point inside area is simpler and faster, but can give wrong result because of its limitation. And I don't think its an issue with Autocad, its just a method that has its limitation. And it actually works really good otherwise, if you think about it, considering how much zoomed out you have to be and have a short segment to get the error. For example I work with topology, and have area centroids, and I needed to work some analysis with polylines for certain areas. In 99% cases boundary command was good, but with large areas with small boundary segments (like in OP example) I had this problem and needed to avoid it.
    4 points
  3. This has been talked before if I understood the problem correctly: https://www.cadtutor.net/forum/topic/61468-boundary-precision/ To create a boundary you have to have the whole area visible in your model, everything needs to be visible in display area So it has to do something with your "viewing resolution" (zoom), that's how command works. What is the limit I don't know, I never did tests like they did in topic mentioned above. But I also had the same problems with large areas like you posted, when I have one short line, or polyline segment, one of the boundary vertices would be wrong (bad precision). The solution for me was to create lisp working with regions, then convert region to polyline. When creating regions you don't need to see the whole area on your screen, you select the lines and its just pure math from there
    3 points
  4. @mhupp I use Bricscad V25 and it did not work ? Old name stayed there did I miss a step. I tried old fashioned method, it may not be the best solution, if block has attributes then could add a extra sub function to copy the existing values to the new inserted block. Also wants a "Does block exist check". ; https://www.cadtutor.net/forum/topic/99155-insert-a-copy-of-the-block-at-the-specified-point-copyrenameblockv1-5lsp-lee-mac/ ; rename a existing block to a new name ; By AlanH June 2026 (defun c:AHRenblk ( / attreqold bname ent entg inspt oldangdir oldangunits rot scx scy) (setq attreqold (getvar 'attreq)) (setq attreq 0) (setq oldangunits (getvar 'aunits)) (setvar 'aunits 3) (setq oldangdir (getvar 'angdir)) (setvar 'angdir 0) (setq ent (car (entsel "\nPick block to rename "))) (setq entg (entget ent)) (setq bname (cdr (assoc 2 entg))) (setq inspt (cdr (assoc 10 entg))) (setq scx (cdr (assoc 41 entg))) (setq scy (cdr (assoc 42 entg))) (setq rot (cdr (assoc 50 entg))) (setq newname (getstring T "\nenter new block name ")) (command "Bedit" bname "Bsaveas" newname "N" "Bclose" "S") (command "erase" ent "") (command "-insert" newname inspt scx scy rot) (setvar 'aunits oldangunits) (setvar 'angdir oldangdir) (princ) ) (c:AHRenblk) Yes will see flash on screen as Bedit is called.
    2 points
  5. A few i had laying around ;;----------------------------------------------------------------------------;; ;; ZOOM TO OBJECT AND OUT 5% (defun C:ZZ (/ SS) (if (setq SS (ssget)) (progn (vl-cmdf "_.Zoom" "OB" SS "") (vl-cmdf "_.Zoom" "0.95x") ) ) ) ;;----------------------------------------------------------------------------;; ;; ZOOM TO OBJECT THEN OUT 25% (defun C:ZX (/ SS) (if (setq SS (ssget)) (progn (vl-cmdf "_.Zoom" "OB" SS "") (vl-cmdf "_.Zoom" "0.75x") ) ) )
    2 points
  6. Yes, I tend to zoom object then zoom out another 10%, catches most things
    2 points
  7. If it can be fixed with zooms then you can record the current zoom, zoom object, make the boundary and zoom back 'current' zoom - I think that method is online somewhere to copy / paste else can find it on Monday if needed.
    2 points
  8. Idk about that this is a super simple lisp that will allow you to select multiple entites. But if they aren't within the fuzz distance of each other they wont connect. ;;----------------------------------------------------------------------------;; ;; Copy Boundary Entities to join as a single polyline fuzz is 0.1 units ;; https://www.cadtutor.net/forum/topic/99146-boundary-command/ mhupp:06/04/26 (defun C:CBoundray (/ ss ss1 obj) (setq ss1 (ssadd)) (while (setq ss (ssget '((-4 . "<OR") (0 . "LINE") (0 . "ARC") (0 . "LWPOLYLINE") (-4 . "OR>")))) (foreach obj (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))) (vla-copy obj) ) (command "_.PEDIT" "_M" ss "" "_J" "0.1" "W" "0" "") ) (princ) )
    2 points
  9. It's supposed to use the HPGAPTOL as far as I know. This has been an issue for sometime, now that I looked back into from a few years ago, this problem also occurs with Hatch command. I just tried Boundary and Hatch on a closed polyline object at Zoom Extents and got ... And despite the first instruction, Zooming In resolved the issue. I normally resolve this with Hatch by using Select Object, maybe Hatch, Select Object, delete the Hatch and keep the Boundary could work for the OP. @lastknownuser's post brought it back to my memory. There is a thread around from a while back on this issue and needing to use Select Object option for Hatch.
    2 points
  10. Was reading up on this too. apparently AutoCAD boundary command doesn't have a tolerance setting but BricsCAD does. That is why people opt to use hatching and then you can create the boundary from the hatch. and then delete the hatch. I'm confused since their isn't a gap/vertex at that location.
    2 points
  11. There was a post a couple of years ago now, if it is a closed shape without crossing lines, hatching the area then recreate the boundary and delete the hatch leaves the boundary... as a last resort since it is long winded way to go. I haven't had time this week to look at this properly - you're in safe hands with the other posters though... (The post I am thinking about was using LISP to do something, click in the area to get boundary, might have been to measure area, perimeter or something but that was the idea behind it, LISP is ok if it is a bit long winded, fractions of a second longer process)
    2 points
  12. Incremental Numbering Suite Version 4.0 Released. The main feature of the new version is the introduction of a dedicated 'Content Builder' to facilitate the construction of an incrementing string from an arbitrary number of incrementing and/or static components. With this feature, the user now has the ability to independently control the increment amount and increment frequency for each component of the string, enabling multiple sections of the string to increment by different amounts and at different rates to one another. The new version also introduces the ability to load & save application configurations, streamlining the operation of the program for multiple numbering systems.
    2 points
  13. No error handling. just copies existing block and updates name and insertion point. change 0.0 0.0 0.0 to what you want or use getpoint. ;;----------------------------------------------------------------------------;; ;; Rename Block to New point ;; https://www.cadtutor.net/forum/topic/99155-insert-a-copy-of-the-block-at-the-specified-point-copyrenameblockv1-5lsp-lee-mac/ (defun c:CopyRenameBlock (/ ent obj newobj ed newname) (vl-load-com) (if (setq ent (car (entsel "\nSelect block: "))) (progn (setq obj (vlax-ename->vla-object ent)) (setq newobj (vla-copy obj)) (setq ed (entget (vlax-vla-object->ename newobj))) (setq newname (getstring T "\nNew block name: ")) (entmod (subst (cons 2 newname) (assoc 2 ed) ed)) (entmod (subst '(10 0.0 0.0 0.0) (assoc 10 ed) ed)) ) ) (princ) ) --edit rename Doesn't work
    1 point
  14. Do you want to get rid of the "rename only" functionality? If it were me, I'd add the new functionality near the end, after all the validating and bookkeeping is done. In the line with the sssetfirst command (not at that exact spot) the completed copy is added to the current selection set. You could expand that clause to ask for the new location and move the new block from its current location to the new coordinates. Disclaimer: I am only a hobbyist programmer, someone else may find a better solution.
    1 point
  15. A 3MF (3D Manufacturing Format) file is an advanced, XML-based file type designed specifically for 3D printing and additive manufacturing. It was created to replace the older, limited STL format. Looks to be Solidworks from the extension of the sub parts(.SLDPRT), you need to update the plate sub part. --edit nm looks to be STL. convert the plate stl over to a solid. then you can edit. --edit edit or slice it if its flat and extrude into the thickness getting rlx vibes for some reason
    1 point
  16. Can not open may be just my software. What software did you use to make the object ?
    1 point
  17. I'm not sure if zoom object will work in all cases. I tried several shapes including the OP's drawing and sometimes I was zoomed more than the zoom object showed, maybe zoom object and then zoom some more. I personally believe the better option would be to just use BricsCAD as it seems to handle these situations better. I would be curious to know the method they use for pick points for Boundary and Hatch in BricsCAD and if it works correctly in all cases. As discussed, select objects for hatch seems to be the best option for difficult geometry over pick points. It might be an easier code, though IIRC there should be some good codes out there for creating a closed polyline, then making regions so should be easier than working from scratch.
    1 point
  18. Your name of course will be there always. You too free to use any code I am posting here or modify it for the better ideas. Thank you so much. Regards.
    1 point
  19. If your offering something a good idea is to provide images or a movie about what the program does, else the "Why bother" will occur. "(setq oldDynPrompt (getvar "DYNPROMPT")) Fails in Bricscad V25. Here is a freebie for you I dont uses initget. Multi radio buttons.lsp (if (not AH:Butts)(load "Multi radio buttons.lsp")) (setq ans (ah:butts but "V" '("Please choose" "1-Polylines" "2-Lines" "3-Arcs" "4-Circles" "5-Splines" "6-FeatureLines" "7-All"))) You ask for a distance only so it would make sense that it ask for intervals, we did road design and in an intersection kerb the curve was nearly always based on 4 points. maybe when asked for a distance enter a -ve value say -4 means break into 4 even spacing. Have added a couple of other make dcl on the fly for you just leave my name in the code but free to use. You can make a dcl then convert it to lsp code using write-line for the dcl code so dont need the MULTI's.Multi GETVALS.lspMulti toggles.lsp
    1 point
  20. Off the top of my head, could you use polar coordinates to split the site into slices? With 60-degree increments, you have six slices. When you process a borehole, you use the distance from the center of the site to place the table at a proportional distance in the outer area. By setting the placement angle to a clamped fraction of the slice, you get a fixed number of places for the tables, so there's no chance of overlap. That way you don't have a lot of edge cases, and the tables correspond roughly to the boreholes. I'm probably not explaining this clearly. I can put together a diagram and maybe some code if you need them.
    1 point
  21. The only "solution" besides zooming in I could determine, was to copy the polylines in place and use region on them, which seems to be correct in the example drawing. That should be able to be done with a LISP? Boundary.dwg
    1 point
  22. Yes, 2000i fails when zoomed out as well.
    1 point
  23. I use windows terminal winget upgrade. the publisher has to send them the file i think how it works. it directs to the url submitted.
    1 point
  24. I reversed all the polylines see if that does anything. -Edit Might fix it on the bottom but then mess it up on the top. Rervers Boundary.dwg
    1 point
  25. I exploded the polylines into lines. I also reduced the lineweight to 0, but in both cases the result remains the same. A colleague who still has an old PC with Autodesk Map 5 (= AutoCAD 2002) also confirmed that the same error occurs. If I’m not mistaken, AutoCAD 2002 is basically the same as AutoCAD 2000, so @SLW210’s statement that the "boundary" command works correctly in that version intrigues me.
    1 point
  26. Welcome aboard, post a sample dwg with your block, then people can have a look at what you have done.
    1 point
  27. @darshjalal Thanks for your program contribution. I don't want to take away for your obvious hard work, but I somewhat agree with @BIGAL. I have read the extensive comments that are very detailed and technical, but there is no summary of what it is used for, or how it is useful. For the casual LISP user, they would not understand the value in such a program. I think a simple paragraph would be help instead of blindly evaluating it. Your title does explain the purpose of the program, but it's too vague and some plain language on how the features are helpful would be nice - just a friendly critique
    1 point
  28. As usual this was born out of necessity. Had a 46Mb pdf , no tools on work laptop to convert it because also no adobe (reader only). PdF was all images so AutoCad pdf attach / import won't work either. Have a (legal) tool on my own computer but pdf wouldn't fit through the mail because of IT limitations. We used to have something like One-drive / Sharepoint but also blocked now , so I wrote this app. It chops up pdf in to 10MB pieces (or any size you want) , it can also email them at the same time and at the other end of the line you can put the pieces back again with the same app. So if your IT department tries to make your life a living hell , hell , maybe this app can give you some relief. RlxSplit.lsp
    1 point
×
×
  • Create New...