Search the Community
Showing results for tags 'boundary'.
-
Change boundary color without using (entlast)
Engineer_Yasser posted a topic in AutoLISP, Visual LISP & DCL
(vl-cmdf "_.-boundary" "_a" "_i" "_n" "" "" "_non" (getpoint) "") How to write ( if boundary created ) change its colour to yellow without using (entlast) ================================ Also ================================ How to check if error using (vl-catch-all-error-p (vl-catch-all-apply For This ssget (ssget "_WP" (pac Poly_Ent) (list (cons 0 "TEXT") (cons 8 "Pr_layer")))) Check if there is a text (Layer "Pr_layer") inside the closed polyline Poly_Ent because I got error many times while running the code ( bad argument type: lselsetp nil ) (defun pac (e / l v d lst) (setq lst nil) (setq d (- (setq v (/ (setq l (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e))) 100.)))) (while (< (setq d (+ d v)) l) (setq lst (cons (vlax-curve-getPointAtDist e d) lst)) ) ) -
Version 4.2.28.0
3,015 downloads
TotalBoundary (Pro) is a professional plugin for generating 2D outline drawings of various degrees of complexity with AutoCAD®. The outline drawings it creates are closed polylines marking the boundaries of various types of objects, which can include elementary entities (lines and arcs) as well as complex blocks and curves (ellipses and splines). What sets the TotalBoundary (Pro) utility apart from AutoCAD's built-in tools (such as BOUNDARY, BPOLY) and from other third-party programs is its high productivity and stability, and also the quality of the outlines it generates. The inbuilt algorithm for detecting spacing (gaps) between neighboring objects allows users to create enclosed outline polylines with exceptional accuracy. The program can process tens of thousands of objects extremely efficiently (in a matter of seconds), flawlessly generating highly complex outline polylines in the selected drawings. Key features: The program's powerful engine allows it to build enclosed polylines rapidly along the perimeter of selected drawing fragments. The original drawing needs no advance preparation (removing superfluous unconnected lines, creating an additional enclosed boundary polyline around the original drawing fragment). When the program creates an outline, it automatically identifies and removes gaps in places where primitives meet. The maximum size of these gaps can be set directly by the user. The program replaces splines and ellipses used in defining an outline with true polylines created by means of piecewise linear approximation. The user can also easily set the thickness and color of the polylines the program generates, if required. The program offers an automatic filling (solid hatching) option for the outlines it generates.- 6 comments
- 3 reviews
-
- 2
-
-
Hi All, i was wondering if i could get some help with this routine. i'm trying to create a view by using a boundary. what i'm trying to do is make a one click print lisp by picking inside of a rectangle around my title block and creating a boundary thus the view to use for printing. thanks, Brian ;;;--- Printpage.lsp (defun C:prp() ;;;--- Turn the command echo off (setvar "cmdecho" 0) ;;;--- Get the inside selection point (setq pt(getpoint "\n Select Inside of Rectangle : ")) ;;;--- Create a Boundary (command "-boundary" "Advanced" "Island" "No" "Nearest" "" pt "") (command "view" "entlast" "pt" ) (command "-view" "r" "pt" "plot" "yes" "model" "Laserjet 5.pc3" "ANSI A (8.50 x 11.00 INCHES)" "inches" "portrait" "no" "v" "pt" "fit" "0.00,0.25" "yes" "tfc.ctb" "yes" "no" "no" "yes" "yes") ;;;--- Turn the command echo back on (setvar "cmdecho" 1) ;;;--- Suppress the last echo for a clean exit (princ) )
-
Version 2.5.36.0
2,831 downloads
AutoCAD users often have to deal with the BOUNDARY (BPOLY) command, which allows creating boundaries (mostly enclosed polylines) from existing objects forming an enclosed area around the point specified. Unfortunately, its performance as well as the quality and the accuracy of the boundaries (contours) created when run in complex drawings leaves much to be desired. To eliminate these common drawbacks of the standard BOUNDARY command, a project called "SuperBoundary" was implemented. While BOUNDARY command generates simple contours quite efficiently in relatively simple drawings with a small number of objects on screen, SuperBoundary is intended to provide the user with comfortable workflow in drawings of any complexity. In other words, SuperBoundary is the utility based on the BOUNDARY concept supplemented by super-speed and some super-features. Key features: High performance. A powerful program engine allows analyzing and generating thousands of boundaries in seconds. High accuracy. When generating a boundary, all elements larger than the specified tolerance factor are considered. The possibility to create boundaries in areas having significant gaps between adjacent objects. The possibility to quickly detect and generate all the enclosed areas in the selected drawing or its part. Easy and accurate external outlines generation in complex drawings. Polylines generation from spline- and ellipse-based boundaries using piecewise-linear approximation Flexible adjustment of the boundaries generated. These are width, color and layer. Simple and convenient installation with classic installer. List of commands: _SBND - launch the app in classic mode _SBND_PICK - for quick usage in "pick point" mode _SBND_ALL - for quick usage in "build all" mode _SBND_CONFIG - for export / import current settings data as an external INI file -
Hey guy's I've got this lisp that is working pretty well with an end user but when I try to add it to a script it saids that it's an Unknown command... is there something in it that is wrong? (defun lib:Zoom2Lst( vlist / bl tr Lst OS) (setq Lst (lib:pt_extents vlist) bl (car Lst) tr (cadr Lst)) (if (not (and (lib:IsPtInView bl) (lib:IsPtInView tr))) (progn (setq OS (getvar "OSMODE"))(setvar "OSMODE" 0) (command "_.Zoom" "_Window" (trans bl 0 1)(trans tr 0 1) "_.Zoom" "0.95x") (setvar "OSMODE" OS) T) NIL)) ;External contour of objects (defun C:MakeBoundary ( / *error* blk obj MinPt MaxPt hiden pt pl unnamed_block isRus tmp_blk adoc blks lays lay oname sel csp loc sc ec ret DS osm iNSpT) (defun *error* (msg)(princ msg)(mapcar '(lambda (x) (vla-put-Visible x :vlax-true)) hiden) (vla-endundomark adoc)(if (and tmp_blk (not (vlax-erased-p tmp_blk))(vlax-write-enabled-p tmp_blk) ) (vla-Erase tmp_blk))(if osm (setvar "OSMODE" osm))(foreach x loc (vla-put-lock x :vlax-true))) (vl-load-com)(setvar "CMDECHO" 0)(setq osm (getvar "OSMODE")) (if (zerop (getvar "WORLDUCS"))(progn(vl-cmdf "_.UCS" "")(vl-cmdf "_.Plan" ""))) (setq isRus (= (getvar "SysCodePage") "ANSI_1251")) (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object)) blks (vla-get-blocks adoc) lays (vla-get-layers adoc)) (vla-startundomark adoc)(if isRus (princ "\n???????? ??????? ??? ?????????? ???????")(princ "\nSelect objects for making a contour")) (vlax-for lay lays (if (= (vla-get-lock lay) :vlax-true) (progn (vla-put-lock lay :vlax-false) (setq loc (cons lay loc)))) ) (if (setq sel (ssget))(progn (setq sel (ssnamex sel)) ;;; (setq iNSpT(apply 'mapcar (cons 'min ;;; (mapcar 'cadr (apply 'append (mapcar '(lambda(x)(vl-remove-if-not 'listp x)) sel)))))) (setq iNSpT '(0 0 0)) (setq sel (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr sel)))) (setq csp (vla-objectidtoobject adoc (vla-get-ownerid (car sel)))) ; (setq unnamed_block (vla-add (vla-get-blocks adoc)(vlax-3d-point '(0. 0. 0.)) "*U")) (setq unnamed_block (vla-add (vla-get-blocks adoc)(vlax-3d-point inspt) "*U")) (foreach x sel (setq oname (strcase (vla-get-objectname x))) (cond ((member oname '("ACDBVIEWPORT" "ACDBATTRIBUTEDEFINITION" "ACDBMTEXT" "ACDBTEXT")) nil) ((= oname "ACDBBLOCKREFERENCE") (vla-InsertBlock unnamed_block (vla-get-insertionpoint x)(vla-get-name x) (vla-get-xscalefactor x)(vla-get-yscalefactor x) (vla-get-zscalefactor x)(vla-get-rotation x)) (setq blk (cons x blk))) (t (setq obj (cons x obj)))));_foreach (setq lay (vla-item lays (getvar "CLAYER"))) (if (= (vla-get-lock lay) :vlax-true)(progn (vla-put-lock lay :vlax-false) (setq loc (cons lay loc)))) (if obj (progn (vla-copyobjects (vla-get-activedocument (vlax-get-acad-object)) (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbobject (cons 0 (1- (length obj)))) obj)) unnamed_block))) (setq obj (append obj blk)) (if obj (progn ;(setq tmp_blk (vla-insertblock csp (vlax-3d-point '(0. 0. 0.))(vla-get-name unnamed_block) 1.0 1.0 1.0 0.0)) (setq tmp_blk (vla-insertblock csp (vlax-3d-point inspt)(vla-get-name unnamed_block) 1.0 1.0 1.0 0.0)) (vla-GetBoundingBox tmp_blk 'MinPt 'MaxPt) ;_??????? ????? (setq MinPt (vlax-safearray->list MinPt) MaxPt (vlax-safearray->list MaxPt) DS (max (distance MinPt (list (car MinPt)(cadr MaxPt))) (distance MinPt (list (car MaxPt)(cadr MinPt)))) DS (* 0.2 DS) ;1/5 DS (max DS 10) MinPt (mapcar '- MinPt (list DS DS)) MaxPt (mapcar '+ MaxPt (list DS DS))) (lib:Zoom2Lst (list MinPt MaxPt))(setq sset (ssget "_C" MinPt MaxPt)) (if sset (progn (setvar "OSMODE" 0) (setq hiden (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr (ssnamex sset)))) hiden (vl-remove tmp_blk hiden)) (mapcar '(lambda(x)(vla-put-Visible x :vlax-false)) hiden) (setq pt (mapcar '+ MinPt (list (* 0.5 DS)(* 0.5 DS)))) (vl-cmdf "_.RECTANG" (trans MinPt 0 1)(trans MaxPt 0 1)) (setq pl (vlax-ename->vla-object(entlast))) (setq sc (1-(vla-get-count csp))) (if (VL-CATCH-ALL-ERROR-P (VL-CATCH-ALL-APPLY '(lambda () (vl-cmdf "_-BOUNDARY" (trans pt 0 1) "") (while (> (getvar "CMDACTIVE") 0)(command ""))))) (if isRus (princ "\n?? ??????? ????????? ??????")(princ "\nIt was not possible to construct a contour"))) (setq ec (vla-get-count csp)) (while (< sc ec)(setq ret (append ret (list (vla-item csp sc))) sc(1+ sc))) (setq ret (vl-remove pl ret)) (mapcar '(lambda (x)(vla-Erase x)(vlax-release-object x))(list pl tmp_blk))(setq pl nil tmp_blk nil) (setq ret (mapcar '(lambda ( x / mipt)(vla-GetBoundingBox x 'MiPt nil) ;_??????? ????? (setq MiPt (vlax-safearray->list MiPt))(list MiPt x)) ret)) (setq ret (vl-sort ret '(lambda (e1 e2)(< (distance MinPt (car e1))(distance MinPt (car e2)))))) (setq pl (nth 1 ret) ret (vl-remove pl ret)) (mapcar 'vla-erase (mapcar 'cadr ret)) (mapcar '(lambda(x)(vla-put-Visible x :vlax-true)) hiden) (foreach x loc (vla-put-lock x :vlax-true)) (if pl (progn (initget "Yes No") (if (= (getkword (if isRus "\n??????? ???????? [Yes/No] <No> : " "\nDelete objects? [Yes/No] <No> : ")) "Yes") (mapcar '(lambda (x) (if (vlax-write-enabled-p x)(vla-Erase x))) obj))) (if isRus (princ "\n?? ??????? ????????? ??????")(princ "\nIt was not possible to construct a contour"))))))) (VL-CATCH-ALL-APPLY '(lambda ()(mapcar 'vlax-release-object (list unnamed_block tmp_blk csp blks lays))))));_if not (foreach x loc (vla-put-lock x :vlax-true))(setvar "OSMODE" osm) (vla-endundomark adoc)(vlax-release-object adoc)(princ)) Could you help me please!!
-
Selecting with Solid hatch
JamyB posted a topic in AutoCAD 2D Drafting, Object Properties & Interface
Hi all, This one is a first for me. Using AutoCAD 2016. After selecting a solid hatch, I can't click and drag to select anything else within the hatch boundary. I can only select an object by picking on a line. I've never had this issue or noticed it before. Not sure if it's setting of just a CAD thing. Thanks for the help -
Hi Everyone:) I am working with contour lines. I don't have any trouble creating a surface from the contour lines (Toolspace > GIS topo > Definition > Contours > Add (with swapping edges selected) >> surface generates). What I was wondering is : IS there any way to create different layers for different slope gradients (as defined in the slope properties)? Ultimately what I want to do is be able to isolate the regions that fall into different slope categories and create boundaries around them. Any and all help is greatly appreciated!
-
I have two surfaces. An EG Surf and a Surveyed Surf. I need to splice the surveyed surf into the EG. The EG is much bigger than the Survey and etirely covers the survey surf. I want the two surfaces to tie in/splice together smoothly. So I thought I would add a 20' or 50' buffer around the survey surf between it and the EG where the two surfaces could gradually tie together instead of sharp changes to connect them. To do this I offset the survey surf border by 50' as a polyline and use that as a hide boundary for the EG surf. Then pasted both into a new blank surface. But instead of tying together in the new surface there is just a 50' gap/hole in between them. Any thoughts?
-
Creating an exterior gross poly line around the footprint of building
stapleyneil posted a topic in AutoLISP, Visual LISP & DCL
I am attempting to create a list that will place a poly line representing the footprint of a building/floor. With the ultimate aim to represent the gross exterior and gross interior if a floor. I am able with ease place the interior gross polyline but am having difficulties with the exterior as I have to use an xref of the architectural drawing and the boundary function doesn't like all the internal islands so it hangs up CAD. This is only my second attempt at creating a script. Does anyone know of a quicker way? (DEFUN C:EXGR (/) (COMMAND "LAYON") ;;;;TURNS ALL LAYERS ON;;;; (COMMAND "LAYTHW") ;;;;UNFREEZES ALL LAYERS;;; (COMMAND "LAYER" "M" "EX-GROSS" "") ;;;;CREATES A LAYER NAMED IN-GROSS AND MAKES IT CURRENT;;;;;; (COMMAND "LAYER" "OFF" "A-AREA,ARCH|A-ANNO-GRID,A-AREA-IDEN,DEFPOINTS,ARCH|A-FLOR,FURN|A-FURN,FURN|A-FURN-CHAR,FURN|A-FURN-PNLS,FURN|A-FURN-WKST,ARCH|A-EQPM,ARCH|A-MILL" "") ;;;;TURNS OFF ALL NONE ESSENTIAL LAYERS LISTED IN "";;;; (COMMAND "LAYER" "F" "A-AREA,A-AREA-IDEN,ARCH|A-ANNO-GRID,DEFPOINTS,ARCH|A-FLOR,FURN|A-FURN,FURN|A-FURN-CHAR,FURN|A-FURN-PNLS,FURN|A-FURN-WKST,ARCH|A-EQPM,ARCH|A-MILL" "") ;;;;TURNS OFF ALL NONE ESSENTIAL LAYERS LISTED IN "";;;; (SETQ A (GETPOINT "\nENTER FIRST POINT: ")) ;;;;SELECTS THE FIRST RECTANGLE POINT;;;; (SETQ B (GETPOINT "\nENTER SECOND POINT: ")) ;;;;SELECTS THE SECOND RECANGLE POINT;;; (COMMAND "RECTANG" A B "") ;;;;PLACES THE RECTANGLE;;;;; (SETQ E (GETPOINT "\nENTER THIRD POINT: ")) (SETQ f (GETPOINT "\nENTER FOUTH POINT: ")) (COMMAND "PLINE" E F "") (SETQ C (getpoint "\nPick internal point: ")) ;;;;SELECTS THE INTERNAL AREA OF THE RECTANGLE;;;; (command "_.-boundary" C "") ;;;;INITIATES THE BOUNDARY COMMAND;;;;; (COMMAND "LAYER" "OFF" "A-XREF,A-AREA|A-WALL" "") ;;;;SWITCHES OFF SPACE POLYLINES;;;; (setq D (entsel "\nSELECT THE POLY YOU WANT TO DESIGNATE AS THE INTERIOR GROSS: ")) ;;;;SELECTS THE POLYLINE YOU WISH TO DESIGNATE AS THE INTERNAL POLYLINE;;;;; (command "_.chprop" D "" "LA" "DEFPOINTS" "") ;;;CHANGES THE SELECTED POLYLINE TO LAYER DEFPOINTS;;;;;; (COMMAND "CLAYER" "0") ;;;;SETS THE CURRENT LAYER TO 0;;;;; (COMMAND "LAYDEL" "N" "EX-GROSS" "" "Y") ;;;;DELETES ALL ITEMS ON EX-GROSS LAYER;;;;;; (COMMAND "LAYON") (COMMAND "LAYTHW") ;;;;TURNS ON AND FREEZES ALL THE LAYERS;;;;;;; (PRINC) ) -
I want to an answer for this question. I am drawing plans for lands using Autocad. then there no easy method for me to partition those lands. Now I am doing this as mention below. first of will the boundary of the land is drawn to make it a closed object. next using a line elevation part of the land is marked approximately. using the the boundary tool the boundaries make for that marked point. after that the area at the point is measured then the calculated area is compared with the original area. if it is not match a grip is stretch in the boundary object. repeatedly this I have to adjust the relevant area. it is not an easy task. it will be easy if i can do it as given below. when the grip is edited as the mouse pointer if the area is shown it will be easy. be kind enough to left me know if there is any lisp program available.
-
Hello Everyone, I am currently modeling a roadway using a proposed profile and assembly with daylighting cut/fill to an exising surface. The corridor seems to build fine with all feature lines and proper shading indicating areas or cut/fill daylighting but once I create a surface out of the corridor the surface boundarys for the most part will follow the extents of the outer boundary (both by using the corridor extents as outerboundary and using a polyline in the same way) but there are locations where the surface does not build causing the outer boundary of the surface to enter the corridor and follow the edge of pavement instead of where the daylighting meets the ground. the bluish green lines which intersect the corridor lines are the outer boundary of the surface created from the corridor. Anyone have any idea how to fix this? Thanks -mraymer
-
Multileaders and Hatch Boundaries
CyberAngel posted a topic in AutoCAD Bugs, Error Messages & Quirks
In AutoCAD 2008 I couldn't put multileaders in hatched areas. When I added the multileader to the hatch objects, the hatch disappeared in a triangle defined by the text width and the arrowhead. Useless. In AutoCAD 2011 I can't put multileaders in hatched areas, but for a different reason. With a Circle block for content, the hatch uses the circle as a boundary, which is okay, but then it uses the text inside as another boundary. The text itself becomes hatched! Still useless. I can give a background mask to a text multileader, why not a block multileader? -
Lost boundary while changing the attached image
gpktm posted a topic in AutoCAD 2D Drafting, Object Properties & Interface
Hi everyone. I was making a facade in ACAD but I acciddently deleted from my hard disk the attached images I used for textures. So, I decide to replace them with another similar texture, but, while I change the path of the file I lost my boundary area. Does anyone know why is this happens? Here is a snapshot with the missing texture And here after I replaced it -
Hello all, Anybody got an idea how to do this in lisp: I want to stretch a boundary (the yellow line) over the X direction (like the red line) and then over the Y direction so you get the green line in the end. The value’s for X and Y can be different. The boundary can contain arcs. The best for me would be if the stretch to all 4 directions can be different. For instance left 1, bottom 0.5, right 1.5 and top 2. Thank you all for your input, ubsure
-
- directional
- boundary
-
(and 1 more)
Tagged with:
-
So I am trying to get the area of the 2D gear face I just made. I tried doing it the way stated: "Tip. A fast way to calculate an area bounded by several objects in 2D is to use the BOUNDARY command. With BOUNDARY, you can pick a point within the area to create a closed polyline or region. You can then use the Properties palette or the LIST command to find the area and perimeter of the polyline or region." but the BOUNDARY command did not work and it gave me an error of "valid hatch boundary not found." Is there a better way to figure out this area or any way that I can fix this error. Your help will be greatly appreciated. Thank you.