KozMos LabelRoom

  Label room's name and area/perimeter with auto-update reactor

          KozMos LabelRoom is a Visual LISP reactor based program to perform a dynamic name and area (and/or perimeter) label of a room. LabelRoom will link two objects (one MTEXT and one CURVE/REGION/HATCH/SOLID which has the "AREA" or "PERIMETER" property) together, the MTEXT will contain two lines: First line shows the room name and the second line will show the room area or perimeter obtained from the linked CURVE/REGION/HATCH. Changes on the curve area or perimeter will be recorded and shown by the MTEXT automatically.

        LabelRoom support different dimension unit by using the "CALC" factor (It works as well as the Conversion Factor for AutoCAD Field). This will get the correct area number in a different unit. For example, if the drawing was drawn in millimeter unit but we need to dimension the area with square meter. Then we must add a "0.000001" factor to the curve's area property. Or we will got a wrong number and have to fix it manually.

        All LabelRoom reactors are designed as persistent so that they can always be valid in AutoCAD sessions (of course LabelRoom MUST be loaded). While attaching reactors, LabelRoom support attaching a normal text with curve because LabelRoom will convert the normal text into mtext automatically.

        To start LabelRoom, just type LROOM at AutoCAD "Command:" prompt.
        Type LRVLR at AutoCAD "Command:" prompt to fix the broken reactor links.
        Type LRBROWSE at AutoCAD "Command:" prompt to find the linked objects with LabelRoom Reactor.
        Type LRCLONE at AutoCAD "Command:" prompt to copy curves together with reactor-linked mtexts automatically.


Dialog Interface

        We are considering to use attributes nested in block to replace the MTEXT, the option was designed in the dialog, but due to no supporting codes, we disabled the choice of Block in dialog.

        LabelRoom provides options on properties of the created MTEXT such as Layer; Style; Color (Support AutoCAD 2004+ true color) and Scale. Frequently used room names may be saved in a ".TXT" file line by line. The file can be read by LabelRoom at any time.

        LabelRoom also provides tools to manage the LabelRoom reactors:

  • Fix the broken links;
  • Detach the reactor links;
  • Change the reactor links to another valid CURVE/REGION/HATCH/SOLID;
  • Attach the reactor links to any MTEXT and valid CURVE/REGTION/SOLID;
  • Clone the reactors;
  • Browse linked objects of reactors;
  • Create REGION by boundary curves;

        LabelRoom create normal AutoCAD MTEXT objects with two lines contents, modification to these MTEXTs which have LabelRoom reactor links may cause different results:

  • First line (as room name) modification
    Will be recorded as valid;
  • Second line (as room data) modification
    Will be ignored next time the linked CURVE/REGION/HATCH/SOLID's area or perimeter changed. 

        There are many important features in LabelRoom:

  • Remove data
    Remove data will automatically clear the area part of the LabelRoom labeled MTEXT. 
  • Statistic data
    Stat data will export room name and data (Linked by LabelRoom) into Excel or directly displayed via a list dialog on screen.
  • GroupLabel
    GroupLabel can build the reactor for a curves selection in one time by simply indicating a proto text or mtext as the room name.
  LabelRoom-GroupLabel

        LabelRoom support many options for GroupLabel. During the group label procedure, a proto annotation (text or mtext) may be needed.
        There are totally three modes in GroupLabel:

  • Auto detect
    The routine can detect an annotations totally surrounded by the CURVE/REGION/HATCH (defined as boundary box) that match certain properties (Layer and Height) to the proto object and automatically label the area use detected annotation.
  • Use proto
    In this mode, the proto object will be copied to the center of the curve as the label annotation.
  • Only area
    Only area will display, this is some how a special situation for Use proto (Automatically change the room name to empty string). 

        In the Use proto mode, if the proto annotation content contains digit, LabelRoom can run a simple mathematic calculation on digit number (support Add, Subtract, Multiple and Division), while in the calculation, the calculated number can also be set (always this number should be 1).

        As LabelRoom only support two line in linked mtext, LabelRoom will only process the first line content if a multiple line mtext is selected as proto annotation.


LabelRoom-Clone

        Copy existing LabelRoom reactors may lost reactor in new created objects. LabelRoom Clone is designed to duplicate LabelRoom reactors by simply indicating the CURVES/REGIONS/HATCHES. Once valid objects are selected, new MTEXTS and LabelRoom reactors will both be created and linked automatically. If there are other objects without any relationship with the LabelRoom reactor, they can be copied together with the reactor duplication.

        LabelRoom Clone support two clone modes:

  • Only curves/regions/hatches/solids with reactors
    Only curves/regions/hatches with LabelRoom reactors may be valid for duplication. Other objects will be ignored.
  • All selected objects including reactor
    All selected objects will be copied. If there are any LabelRoom reactors, they will be clone also.

        Once we have built the LabelRoom reactors, they may often have close relationship with other drawing data (If a room in building is labeled, the border wall will be the very closed data to the curver with LabelRoom reactor). LabelRoom Clone will help us duplicate not only the reactor, but also other relative or non-relative data together with the reactor clone.

        Command to start LabelRoom Clone is LRCLONE and it need not registration.


LabelRoom-Browse

        LabelRoom Browse is designed to help users to identify the linked CURVE/HATCH/REGION/SOLID and MTEXT. This might be very useful when many LabelRoom reactors are exist.

        Data of both the picked object and linked object will be shown in dialog, in the mean time, we can highlight the objects to help us find out them. If the linked object is out of the screen, LabelRoom-Browse can zoom to the object.

 

        Command to start LabelRoom Browse is LRBROWSE and it need not any registration.

 

Additional Notice:
        Change on the Highlight options can only take effect on graphic screen after a move of dialog-box.


MakeRegion for LabelRoom

        LabelRoom now support regions as well as curves, MakeRegion  is published together with LabelRoom to help users building a region based on some existing closed curves very quickly.
        These curves are divided into two different types: The Main Boundary curve (often used as the source objects while performing  SUBTRACT "calculation") and the component curves. The main boundary curve must exist in order to build a valid region. The component curves is optional.

        Once any region is created, a message with the area and perimeter of the region will appear in AutoCAD command line.

        Command to start MakeRegion for LabelRoom is MAKEREGION.

 

LabelRoom-Statistic and export

        LabelRoom provide statistic functions. Data in LabelRoom-linking MTEXTS may be detected and exported into either Microsoft Excel spreadsheet or VLDCL ViewList.


Known limitation:

        As LabelRoom normally links one CURVE with one MTEXT, if we want to label many CURVES and processing certain area calculation between the CURVES, we may convert these CURVES into one REGION, if multiple REGIONS are created, LabelRoom will not be able to link them with one MTEXT, only in case that one REGION is created can LabelRoom label performs the correct way linking REGION with MTEXT. The area change of REGIONS can only take effects by scale. Once the REGION is scaled, the LabelRoom reactor may take effects on linked MTEXT.
        A better solution may be the the HATCH. First of all, HATCH can contain many parts even with isolated islands, and the second, HATCH can be modified by GRIP_EDIT which means it will be more simple than using REGION.


KozMos LabelRoom vs AutoCAD FIELD:

        Since AutoCAD2005, we can use FIELD to show the mark the area or length of curves as well as LabelRoom does. But in fact, AutoCAD FIELD does have some limitations compared with KozMos LabelRoom:

  • Dynamic change:
    FIELD needs a regeneration to make the change appear, but LabelRoom will change the content after the CURVE/HATCH/REGION/SOLID were changed.
  • Length missing:
    FIELD can not mark the length of CIRCLE, SPLINE, SOLID or ELLIPSE because they do not have a "length" property in their ActiveX module but in fact, they DO have a length in real. LabelRoom will automatically calculate the length of such curves and show it.
  • Data lost after source objects' absence:
    If the source objects (Curves, Hatch, Solid, Region) were erased, the FIELD content will lost data after next native REGEN command and only "####" or "----" will be displayed. To restore the data, we HAVE TO change it one by one. By using LabelRoom, deleting the source objects may only terminate the reactor automatically, data in the linked MTEXT will not be changed anymore.

Program record

  • 2008-01-31
    Support silent undo
  • 2007-05-11
    Support SOLID and MLINE
  • 2007-04-15
    Add LabelRoom-Browse
  • 2007-04-10
    Support PERIMETER
  • 2006-12-31
    Support HATCH
  • 2006-08-08
    Dialog-based LabelRoom-Clone;
  • 2006-08-05
    Support REGION as CURVE to attach LabelRoom reactor;
    New MAKEREGION command: help LabelRoom users create REGIONs quickly.
  • 2006-07-31
    Non-Dialog LRCLONE command: Copy curves together with reactor-linked mtexts automatically.
  • 2006-04-10
    Support true color in AutoCAD2007.
  • 2006-03-31
    Upgrade.
  • 2005-08-22
    Group label improved.
    More powerful but simple to understand and use.
  • 2005-06-17
    Using new methods on linking reactor objects, limitation on AutoCAD group was removed.
    Save/SaveAs/Wblock will not lose the reactor any more.
  • 2005-06-04
    Remove "Create new" switch.
    Support group label.
  • 2005-04-06
    Name and Area data export to Excel or VLDCL-VIEWLIST.
  • 2005-03-24
    Support removing area data from existing LabelRoom2005 MTEXT.
  • 2004-08-08
    Finished first release.
    Reactor management tools.
  • 2004-08-05
    Original version, only support closed polyline, reactor ok.
  • 2004-08-02
    Start programming LabelRoom2005.
 

//Koz Jono Yeoh//

Copyright(C) 1994-2009 KozMos Inc
All rights reserved.