<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Generating Point Grids from Custom Shaped Closed Polylines in Visual LISP, AutoLISP and General Customization Forum</title>
    <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175000#M25512</link>
    <description>&lt;P&gt;maybe this be of help. still has gaps thou.&lt;/P&gt;&lt;LI-CODE lang="lisp"&gt;;*****************************************************************************************************************************************************************

;	komondormrex, apr 2023

;*****************************************************************************************************************************************************************

(defun c:do_ename_boundary_array (/ boundary_ename block_ename boundary_extents_list block_extents_list x_block_distance y_block_distance
									x_number_default y_number_default x_number y_number array_block_item to_stay_object_list
									offset_boundary offset_variant init_get
								 )
	(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
	(setq boundary_ename (car (entsel "\nSelect boundary to fill: "))
		  block_ename (car (entsel "\nSelect entity to fill boundary with: "))
	)
	(vla-getboundingbox (vlax-ename-&amp;gt;vla-object boundary_ename)  'llc 'ruc)
	(setq boundary_extents_list (list (vlax-safearray-&amp;gt;list llc) (vlax-safearray-&amp;gt;list ruc)))
	(vla-getboundingbox (vlax-ename-&amp;gt;vla-object block_ename)  'llc 'ruc)
	(setq block_extents_list (list (vlax-safearray-&amp;gt;list llc) (vlax-safearray-&amp;gt;list ruc))
		  init_get (initget 5)
		  x_block_distance (getreal (strcat "\nEnter gap between entities by X axis (Item width = "
		  									(rtos (- (caadr block_extents_list) (caar block_extents_list)))
											": &amp;lt;0&amp;gt;"
									)
						   )
		  init_get (initget 5)
		  y_block_distance (getreal (strcat "\nEnter gap between entities by Y axis (Item width = "
											(rtos (- (cadadr block_extents_list) (cadar block_extents_list)))
		  									": &amp;lt;0&amp;gt;"
									)
						   )
		  x_number_default (fix (/ (+ (- (caadr boundary_extents_list) (caar boundary_extents_list)) x_block_distance)
		  						   (+ (- (caadr block_extents_list) (caar block_extents_list)) x_block_distance)
							    )
						   )
		  y_number_default (fix (/ (+ (- (cadadr boundary_extents_list) (cadar boundary_extents_list)) x_block_distance)
		  						   (+ (- (cadadr block_extents_list) (cadar block_extents_list)) y_block_distance)
							    )
						   )
		  init_get (initget 5)
		  x_number (getint (strcat "\nEnter number of entities by X axis &amp;lt;"
		  						   (itoa x_number_default)
								   "&amp;gt; :"
						   )
				   )
		  init_get (initget 5)
		  y_number (getint (strcat "\nEnter number of entities by Y axis &amp;lt;"
		  						   (itoa y_number_default)
								   "&amp;gt; :"
						   )
				   )
		  array_block_item (vla-copy (vlax-ename-&amp;gt;vla-object block_ename))
	)
	(vla-move array_block_item (vlax-3d-point (trans (car block_extents_list) 1 0))
						   	   (vlax-3d-point (list (+ (caar boundary_extents_list)
						   				 			   (* 0.5 (- (- (caadr boundary_extents_list) (caar boundary_extents_list))
						   				 						 (+ (* x_number (- (caadr block_extents_list) (caar block_extents_list)))
						   				 							 (* (1- x_number) x_block_distance)
						   				 						 )
						   				 					  )
						   				 			   )
						   			  	 			)
						   			  	 			(+ (cadar boundary_extents_list)
						   			  				   (* 0.5 (- (- (cadadr boundary_extents_list) (cadar boundary_extents_list))
						   			  					 		 (+ (* y_number (- (cadadr block_extents_list) (cadar block_extents_list)))
						   			  								(* (1- y_number) y_block_distance)
						   			  							 )
						   			  						  )
						   			  					)
						   			  	 			)
						   				       )
						   	   )
	)
  	(setq array_list (vlax-safearray-&amp;gt;list (vlax-variant-value (vla-arrayrectangular array_block_item
											 										 y_number
											 										 x_number
											 										 1
		                                 	 										 (+ y_block_distance (- (cadadr block_extents_list) (cadar block_extents_list)))
											 										 (+ x_block_distance (- (caadr block_extents_list) (caar block_extents_list)))
											 										 0
															   )
										 )
					 )
	)
	(vla-regen (vla-get-activedocument (vlax-get-acad-object)) acactiveviewport)
	(if (&amp;gt; x_number x_number_default)
			(progn
				(setq offset_value (* 0.5 (- x_number x_number_default) (+ (- (caadr block_extents_list) (caar block_extents_list)) x_block_distance)))
				(if (&amp;lt; (vla-get-area (setq offset_boundary (car (vlax-safearray-&amp;gt;list (vlax-variant-value (setq offset_variant (vla-offset (vlax-ename-&amp;gt;vla-object boundary_ename) offset_value)))))))
					   (vla-get-area (vlax-ename-&amp;gt;vla-object boundary_ename))
					)
						(progn
							(mapcar 'vla-erase (vlax-safearray-&amp;gt;list (vlax-variant-value offset_variant)))
							(setq offset_boundary (car (vlax-safearray-&amp;gt;list (vlax-variant-value (vla-offset (vlax-ename-&amp;gt;vla-object boundary_ename) (* -1 offset_value))))))
						)
				)
			)
	)
	(setq to_stay_object_list (mapcar 'vlax-ename-&amp;gt;vla-object
									   (vl-remove-if 'listp
													  (mapcar 'cadr
													  		   (ssnamex (ssget "_wp"
															   				   (mapcar 'cdr
																			   			(vl-remove-if-not '(lambda (dxf_group) (= 10 (car dxf_group)))
																			   							   (if (null offset_boundary)
																										   			(entget boundary_ename)
																													(entget (vlax-vla-object-&amp;gt;ename offset_boundary))
																										   )
																						)
																			   )
																		)
															   )
													  )
									   )
							   )
	)
	(foreach object array_list
		(if (not (member object to_stay_object_list))
				(vla-erase object)
		)
	)
	(if offset_boundary (vla-erase offset_boundary))
	(vla-erase array_block_item)
	(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
	(princ)
)

;*****************************************************************************************************************************************************************&lt;/LI-CODE&gt;</description>
    <pubDate>Wed, 16 Aug 2023 14:55:51 GMT</pubDate>
    <dc:creator>komondormrex</dc:creator>
    <dc:date>2023-08-16T14:55:51Z</dc:date>
    <item>
      <title>Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174870#M25507</link>
      <description>&lt;P&gt;I've been trying to do this process for a while now, but I keep returning to the manual approach. I have some closed polylines and the idea is to select them to create an internal grid of points, defining the distances both on the X and Y axis. It is important to note that the Array command is not suitable for my purpose, since I intend to store the points in a list-type variable. I would be very grateful if anyone could provide me with guidance, as I have already sought help elsewhere without success.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="adaptacad_0-1692195081934.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1253944iA910E30AE9421688/image-size/medium?v=v2&amp;amp;px=400" role="button" title="adaptacad_0-1692195081934.png" alt="adaptacad_0-1692195081934.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 14:11:42 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174870#M25507</guid>
      <dc:creator>adaptacad</dc:creator>
      <dc:date>2023-08-16T14:11:42Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174919#M25508</link>
      <description>&lt;P&gt;When the X and Y spacings are &lt;EM&gt;equal&lt;/EM&gt;, as they appear to be in your image, it shouldn't be hard.&amp;nbsp; Use a Hatch pattern of zero-length lines at 1-unit spacings [see the &lt;STRONG&gt;DOTS-SQ&lt;/STRONG&gt; pattern defined &lt;A href="https://cadtips.cadalyst.com/patterns/custom-dot-hatch-pattern" target="_blank" rel="noopener"&gt;&amp;gt;here&amp;lt;&lt;/A&gt;].&amp;nbsp; Hatch in the outline, using the spacing you want as the Hatch pattern scale factor.&amp;nbsp; Adjust the Hatch's origin to suit the positioning you want within the outline.&amp;nbsp; Explode the Hatch.&amp;nbsp; You will be left with a bunch of zero-length Line objects, which a routine could easily-enough replace with Points, and put the locations into a list variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If there are a limited number of ratios you ever use for the X vs. Y spacings, Hatch patterns for each such ratio could be defined, to use in the same way.&amp;nbsp; If the ratio could be &lt;EM&gt;anything&lt;/EM&gt;, that's more complicated -- maybe the easiest thing would be to have a routine &lt;EM&gt;create a Hatch pattern&lt;/EM&gt; for the purpose, and apply it.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 14:41:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174919#M25508</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2023-08-16T14:41:06Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174972#M25509</link>
      <description>&lt;P&gt;and these are autocad point entities?&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 14:46:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174972#M25509</guid>
      <dc:creator>komondormrex</dc:creator>
      <dc:date>2023-08-16T14:46:14Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174980#M25510</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/13423916"&gt;@komondormrex&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;and these are autocad point entities?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;They certainly can be, if &lt;STRONG&gt;PDMODE = 33&lt;/STRONG&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 14:49:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174980#M25510</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2023-08-16T14:49:14Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174991#M25511</link>
      <description>&lt;P&gt;fine.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 14:53:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12174991#M25511</guid>
      <dc:creator>komondormrex</dc:creator>
      <dc:date>2023-08-16T14:53:08Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175000#M25512</link>
      <description>&lt;P&gt;maybe this be of help. still has gaps thou.&lt;/P&gt;&lt;LI-CODE lang="lisp"&gt;;*****************************************************************************************************************************************************************

;	komondormrex, apr 2023

;*****************************************************************************************************************************************************************

(defun c:do_ename_boundary_array (/ boundary_ename block_ename boundary_extents_list block_extents_list x_block_distance y_block_distance
									x_number_default y_number_default x_number y_number array_block_item to_stay_object_list
									offset_boundary offset_variant init_get
								 )
	(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
	(setq boundary_ename (car (entsel "\nSelect boundary to fill: "))
		  block_ename (car (entsel "\nSelect entity to fill boundary with: "))
	)
	(vla-getboundingbox (vlax-ename-&amp;gt;vla-object boundary_ename)  'llc 'ruc)
	(setq boundary_extents_list (list (vlax-safearray-&amp;gt;list llc) (vlax-safearray-&amp;gt;list ruc)))
	(vla-getboundingbox (vlax-ename-&amp;gt;vla-object block_ename)  'llc 'ruc)
	(setq block_extents_list (list (vlax-safearray-&amp;gt;list llc) (vlax-safearray-&amp;gt;list ruc))
		  init_get (initget 5)
		  x_block_distance (getreal (strcat "\nEnter gap between entities by X axis (Item width = "
		  									(rtos (- (caadr block_extents_list) (caar block_extents_list)))
											": &amp;lt;0&amp;gt;"
									)
						   )
		  init_get (initget 5)
		  y_block_distance (getreal (strcat "\nEnter gap between entities by Y axis (Item width = "
											(rtos (- (cadadr block_extents_list) (cadar block_extents_list)))
		  									": &amp;lt;0&amp;gt;"
									)
						   )
		  x_number_default (fix (/ (+ (- (caadr boundary_extents_list) (caar boundary_extents_list)) x_block_distance)
		  						   (+ (- (caadr block_extents_list) (caar block_extents_list)) x_block_distance)
							    )
						   )
		  y_number_default (fix (/ (+ (- (cadadr boundary_extents_list) (cadar boundary_extents_list)) x_block_distance)
		  						   (+ (- (cadadr block_extents_list) (cadar block_extents_list)) y_block_distance)
							    )
						   )
		  init_get (initget 5)
		  x_number (getint (strcat "\nEnter number of entities by X axis &amp;lt;"
		  						   (itoa x_number_default)
								   "&amp;gt; :"
						   )
				   )
		  init_get (initget 5)
		  y_number (getint (strcat "\nEnter number of entities by Y axis &amp;lt;"
		  						   (itoa y_number_default)
								   "&amp;gt; :"
						   )
				   )
		  array_block_item (vla-copy (vlax-ename-&amp;gt;vla-object block_ename))
	)
	(vla-move array_block_item (vlax-3d-point (trans (car block_extents_list) 1 0))
						   	   (vlax-3d-point (list (+ (caar boundary_extents_list)
						   				 			   (* 0.5 (- (- (caadr boundary_extents_list) (caar boundary_extents_list))
						   				 						 (+ (* x_number (- (caadr block_extents_list) (caar block_extents_list)))
						   				 							 (* (1- x_number) x_block_distance)
						   				 						 )
						   				 					  )
						   				 			   )
						   			  	 			)
						   			  	 			(+ (cadar boundary_extents_list)
						   			  				   (* 0.5 (- (- (cadadr boundary_extents_list) (cadar boundary_extents_list))
						   			  					 		 (+ (* y_number (- (cadadr block_extents_list) (cadar block_extents_list)))
						   			  								(* (1- y_number) y_block_distance)
						   			  							 )
						   			  						  )
						   			  					)
						   			  	 			)
						   				       )
						   	   )
	)
  	(setq array_list (vlax-safearray-&amp;gt;list (vlax-variant-value (vla-arrayrectangular array_block_item
											 										 y_number
											 										 x_number
											 										 1
		                                 	 										 (+ y_block_distance (- (cadadr block_extents_list) (cadar block_extents_list)))
											 										 (+ x_block_distance (- (caadr block_extents_list) (caar block_extents_list)))
											 										 0
															   )
										 )
					 )
	)
	(vla-regen (vla-get-activedocument (vlax-get-acad-object)) acactiveviewport)
	(if (&amp;gt; x_number x_number_default)
			(progn
				(setq offset_value (* 0.5 (- x_number x_number_default) (+ (- (caadr block_extents_list) (caar block_extents_list)) x_block_distance)))
				(if (&amp;lt; (vla-get-area (setq offset_boundary (car (vlax-safearray-&amp;gt;list (vlax-variant-value (setq offset_variant (vla-offset (vlax-ename-&amp;gt;vla-object boundary_ename) offset_value)))))))
					   (vla-get-area (vlax-ename-&amp;gt;vla-object boundary_ename))
					)
						(progn
							(mapcar 'vla-erase (vlax-safearray-&amp;gt;list (vlax-variant-value offset_variant)))
							(setq offset_boundary (car (vlax-safearray-&amp;gt;list (vlax-variant-value (vla-offset (vlax-ename-&amp;gt;vla-object boundary_ename) (* -1 offset_value))))))
						)
				)
			)
	)
	(setq to_stay_object_list (mapcar 'vlax-ename-&amp;gt;vla-object
									   (vl-remove-if 'listp
													  (mapcar 'cadr
													  		   (ssnamex (ssget "_wp"
															   				   (mapcar 'cdr
																			   			(vl-remove-if-not '(lambda (dxf_group) (= 10 (car dxf_group)))
																			   							   (if (null offset_boundary)
																										   			(entget boundary_ename)
																													(entget (vlax-vla-object-&amp;gt;ename offset_boundary))
																										   )
																						)
																			   )
																		)
															   )
													  )
									   )
							   )
	)
	(foreach object array_list
		(if (not (member object to_stay_object_list))
				(vla-erase object)
		)
	)
	(if offset_boundary (vla-erase offset_boundary))
	(vla-erase array_block_item)
	(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
	(princ)
)

;*****************************************************************************************************************************************************************&lt;/LI-CODE&gt;</description>
      <pubDate>Wed, 16 Aug 2023 14:55:51 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175000#M25512</guid>
      <dc:creator>komondormrex</dc:creator>
      <dc:date>2023-08-16T14:55:51Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175025#M25513</link>
      <description>&lt;P&gt;Precisely what I require! However, there's no need to add any entities to the DWG file. My aim is to store the values within a variable, following this format: `(list '(x y z) '(x y z) ...)`, where the value of z always remains zero.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 15:04:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175025#M25513</guid>
      <dc:creator>adaptacad</dc:creator>
      <dc:date>2023-08-16T15:04:45Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175034#M25514</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/13423916"&gt;@komondormrex&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;maybe this be of help. still has gaps thou.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;This involves multiple input entries and still doesn't completely fill the polyline space. The objective is to distribute points throughout the region delimited by the polyline, and there's no need to add entities – generating a variable with the points is sufficient.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 15:08:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175034#M25514</guid>
      <dc:creator>adaptacad</dc:creator>
      <dc:date>2023-08-16T15:08:08Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175080#M25515</link>
      <description>&lt;P&gt;For example, at equal X and Y, and assuming closed objects that you will select, in fairly simple terms:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;(defun C:GPEXY ; = Grid of Points at Equal X &amp;amp; Y spacings
  (/ ss n ent pt)
  (setvar 'hporiginmode 5); origin at center of bounding box
  (setvar 'hpname "DOTS-SQ")
  (setvar 'pdmode 33); open circles
  (setvar 'pdsize -2); 2% of viewport size
  (command-s "_.HATCH" "" pause "")
  (command "_.explode" (entlast))
  (setq ss (ssget "_P")); the resulting Lines
  (repeat (setq n (sslength ss))
    (setq ent (ssname ss (setq n (1- n))))
    (command "_.point" "_non" (setq pt (cdr (assoc 10 (entget ent)))))
    (entdel ent)
    (setq ptlist (cons pt ptlist))
  ); repeat
  (prin1)
)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It requires you to have that DOTS-SQ pattern available, and asks for the spacing within the Hatch command.&amp;nbsp; It could ask for that in advance instead, could have Layer control, and other things.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It leaves the list of locations as points in the 'ptlist' variable, which is not localized so it survives after the command.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Read about the System Variables it sets, and edit accordingly.&amp;nbsp; Maybe you want it to allow you to change the origin [and/or rotation?] before Exploding, and other refinements are possible, such as confirming that you picked closed object(s), or allowing picking in areas instead of selecting objects, etc.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 15:30:50 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175080#M25515</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2023-08-16T15:30:50Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175095#M25516</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5830512"&gt;@adaptacad&lt;/a&gt;&amp;nbsp;wrote:
&lt;P&gt;.... The objective is to distribute points throughout the region delimited by the polyline, and there's no need to add entities – generating a variable with the points is sufficient.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then you can replace the (repeat) function in mine with:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;  (repeat (setq n (sslength ss))
    (setq
      ent (ssname ss (setq n (1- n)))
      pt (cdr (assoc 10 (entget ent)))
      ptlist (cons pt ptlist)
    ); setq
    (entdel ent)
  ); repeat&lt;/LI-CODE&gt;
&lt;P&gt;and forget the PD.... System Variable settings.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 15:31:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175095#M25516</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2023-08-16T15:31:30Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175337#M25517</link>
      <description>&lt;P&gt;The result is as expected; however, having to load the hatch in my project is not convenient. The way I currently do it is similar. I would like to calculate the points without needing to insert the hatches.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 16:53:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175337#M25517</guid>
      <dc:creator>adaptacad</dc:creator>
      <dc:date>2023-08-16T16:53:01Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175947#M25518</link>
      <description>&lt;P&gt;[You don't need to "load the hatch in [your] project," if that's really what you mean, but need only to put it [once] in any folder location where AutoCAD knows to look, and it will be available to all projects.&amp;nbsp; They're not like Linetypes, which &lt;EM&gt;do&lt;/EM&gt; need to be loaded into each drawing where they're used.&amp;nbsp; I'm working on something that can create one for any XY spacings you specify -- under development.]&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 20:46:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12175947#M25518</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2023-08-16T20:46:07Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12176181#M25519</link>
      <description>&lt;P&gt;Another post&amp;nbsp;&lt;A href="https://www.cadtutor.net/forum/topic/76068-point-grid-by-selecting-polyline/" target="_blank"&gt;Point grid by selecting polyline - AutoLISP, Visual LISP &amp;amp; DCL - AutoCAD Forums (cadtutor.net)&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Aug 2023 23:36:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12176181#M25519</guid>
      <dc:creator>Sea-Haven</dc:creator>
      <dc:date>2023-08-16T23:36:05Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Point Grids from Custom Shaped Closed Polylines</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12177888#M25520</link>
      <description>&lt;P&gt;Thank you very much everyone, the answer in the other community solved my question&lt;/P&gt;</description>
      <pubDate>Thu, 17 Aug 2023 14:41:33 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/generating-point-grids-from-custom-shaped-closed-polylines/m-p/12177888#M25520</guid>
      <dc:creator>adaptacad</dc:creator>
      <dc:date>2023-08-17T14:41:33Z</dc:date>
    </item>
  </channel>
</rss>

