CAD Forum - tips, tricks, discussion and utilities for AutoCAD, Inventor, Revit and other Autodesk products []
CZ | EN | DE
Login or
  Visitors: 7531

CAD tip CAD tip # 12105:

Question CAD 
 %  platform  category 
Q - question

Select the smallest DWG object - MinOf utility.

A - answer With the freeware utility MinOf you can select the smallest or largest object from the selection set, by a specified property (e.g. Area, Length, Volume, Elevation, Scale…).

Download the MinOf utility from Download, load it into your AutoCAD with APPLOAD and start it by typing the MINOF command.

The first prompt asks for the drawing object type, this will also influence the next property set:

Specify type of compared objects [Any/Line/Polyline/anYline/clOsedpoly/Circle/Text/Insert/Hatch/Solid].

"Any" will accept any type of object, "anyLine" allows Lines, Polylines and Splines, "clOsedpoly" allow only closed LWpolylines, "Solid" means 3D Solids.

Then you will select the source objects for the comparison.

The next prompt lists all common numeric properties for the selected object types (analyzes the first of them). You can also type any other property if you are familiar with the DWG objects. The "Centroid" property means "Z-coordinate of the centroid", the "strlEngth" pseudo-property is a computed string length (number of characters), the customizable "cUstomprop" is described below.

The last prompt asks for choosing the Minimum (smallest) or Maximum (largest) object - compared by the selected property. The resulting object will be selected - e.g. the shortest line.

You can use MinOf either separately (grip-selects the specified object), or inside any other command invoking it on the "Select objects:" prompt by typing the transparent command 'MINOF or the LISP command (C:MINOF). See:

The special property "cUstomProp" can be used to process and compare any other object property. You will first need to define a custom function which will handle this parameter. This LISP function must be called "MinOfCustomProperty", has a single parameter, object ID and should return a number - the value of the custom-defined property. See examples:

;sample 1: string length
(defun MinOfCustomProperty (obj / prop)
	(if (vlax-property-available-p obj 'TextString)
	 (setq prop (vl-catch-all-apply 'vlax-get-property (list obj 'TextString)))
	 (setq prop nil)
	(if prop (setq prop (strlen prop)))

;sample 2: distance of block from a given point
(defun MinOfCustomProperty (obj / prop)
 (if (not _minoflocal)(setq _minoflocal (getpoint "\nPick reference point: ")))
	(if (vlax-property-available-p obj 'InsertionPoint)
	 (setq prop (vl-catch-all-apply 'vlax-get-property (list obj 'InsertionPoint)))
	 (setq prop nil)
	(if prop (setq prop (distance _minoflocal (vlax-safearray->list (vlax-variant-value prop)))))
100% *  CAD 
8.1.2019    19629×  
Prices - CAD eShop:
applies to: AutoCAD ·

See also:
Tip 14174:Create or modify a part reference (AMPartRef) from AutoLISP.
Tip 14039:How to display the total volume or surface of 3D solids in DWG?
Tip 14033:Clipping blocks, images, curves, xrefs - everything, into any shape
Tip 13938:ModDXF - utility for bulk modification/display of internal DXF properties in DWG entities.
Tip 13878:SelectSimilar - extended selections for AutoCAD, incl. LT and Web versions

Back   All CAD Tips

Have we helped you? If you want to support the CAD Forum web service, consider buying one of our CAD applications, or our custom software development offerings, or donating via PayPal (see above). You may also add a link to your web - like this "fan" link: CAD Forum - tips, utilities, blocks for Autodesk products
CAD:    OS:    Categ: 
Text:  FAQ glossary   

Publish interactive 3D PDF models from AutoCAD, Inventor or Revit with Share3D More info

Please use these tips at your own risk.
Arkance Systems is not responsible for possible problems that may occur as a result of using any of these tips.