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

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    2200×  
Prices - CAD eShop:
applies to: AutoCAD ·

See also:
Tip 13006:Calculated property descriptions (tobogan slide from floor to floor)
Tip 12997:Hiding Revit dimensions smaller than...
Tip 12815:How to fill iProperties into Inventor files from Excel?
Tip 12790:Centered dynamic label (e.g. area label).
Tip 12705:How to disable osnaps for xref objects?

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   

Save your floating licenses (NLS) consumed by inactive users - free unused licenses with
LogOff 2006 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.