Você está na página 1de 5

MicroStation 101:

Plotter Drivers Part 4: Pens and Pen Tables


How do I turn weights into thicknesses?
For a plot to come out in different colours and pen thicknesses, the plotter needs to have different pens defined. It used to be that you had to have loads of pen(n)= entries to set each pen, but now this is handled for you, provided you are using weights as the defining factor for line thickness (most people do). The weight_strokes section in the .plt file is used to map the line weights to actual plotted thickness. this section lists a series of thicknesses, separated by commas that start at weight 0 and continue up in value. So, to set weights 0 - 10 to use standard ISO pen thicknesses, your weight_strokes values would look like this: weight_strokes(mm) = (0.13, 0.18, 0.25, 0.35, 0.50, 0.70, 1.00, 1.40, 2.00, 2.80) You can continue setting weights up to 31. If you dont define a weight it will print in a single stroke thickness - in the case of HPGL/2 this will be 0.025mm thick. You may find if youve inherited plot drivers that use what seems like arbitrary numbers instead of mm thicknesses. E.g. weight_strokes = (5,7,10,14,23,30,40,56,80,110) This is how things used be done. These values are still thicknesses, but defined in plotter units. For example, HPGL/2 uses a resolution of 0.025mm (i.e. the smallest dot it can draw) so the value for weight 2 (value 10 in the example above) would give a thickness of 10 units (0.025 x 10) = 0.25mm. The problem with using plotter units arises when you use printer.plt. Each printer in the office could theoretically have a different resolution, so you may have had to define a separate printer.plt for each and every printer, and spend hours printing out test drawings to adjust the strokes values so they all print the same. A far better solution is to use the weight_strokes(mm) values and then the printers should all print the same thicknesses regardless of their individual resolutions.

Pen Tables
An alternative way of setting weights, thicknesses, and a whole host of other output options as well, is to use a pen table. Pen tables can be used to change the way an element prints by defining a series of selection criteria based on element type (line, shape, cell, etc), symbology (level, colour, style, weight), class (construction, primary, dimension, etc) and the file or model it is in. Each element that falls into the selection criteria is resymbolised. You can resymbolise elements to always plot in a certain colour or fill, or prioritise elements (always handy for making sure text comes out over filled shapes) or the width, style or even whether the element will plot at all. Download the example pentable.tbl and take a look at some examples of what you can do. The default location for pen tables is the ... Workspace\Standards\Tables\Pen folder. In MicroStation open the Print dialog box. Attach the pen table via the PenTable pull down. Use the same pull-down to Edit.

The Construction_Elements section simply stops Construction class element from printing. The first screenshot selects all elements of a Construction class in the Element Selection Criteria tab and resymbolizes them in the second tab Element Output Actions to Dont Display Element.

Title Sheet is a clever way of using reference file logical names to ensure a drawing border always plots in black and white even if the drawing is set up in Full Colour. Any file with a logical name starting with border is always set to plot in colour 0.

If you highlight the Title_Sheet section, youll notice nothing is selected in Element Selection Criteria. If you click on Files youll get the Identify Files dialog box and will see a Reference Logical Name of border.* has been added. The wildcard .* syntax is a little bizarre explain?, but if you use border.* an(with no elements selected in the Element Selection Criteria tab) it means any element type, of any weight, colour, style or class, in a reference that has a logical name starting with border, will be processed by this section. They will plot as white (black).

All_Elements picks up any element that has not yet been processed and makes sure it prints in colour 0. It is worth remembering that an element can only be processed ONCE by a pentable. If an element matches the selection criteria in a section it will not be considered by the next section. The pentable processes its sections in the order they appear in the list, hence why this section is listed last in the Processing Order list. If it were first in the list, all elements would print black and Construction_Elements and Title_Sheet would never have anything to do.

Map Weights defines the line weight to thickness settings. If you click on Map weights you bring up the mappings already stored in the Pen table. If youre starting from scratch, click the Create button - but take care: if you already have mappings defined, Create will delete them all and start again. Youll be warned first though, so dont panic! To specify the width just highlight the Design Weight and enter the Print width you require in the Edit Weight Map(s) box. You can highlight and set several weights at once if you want.

This can get a little monotonous. An alternative way to set the weight mappings is to open the Pen table in Notepad or another simple text editor. You can just scan down to the BEGIN_WEIGHTMAP section and enter the values by hand after the = 4. Dont ask what the 4 means, but you have to leave it in.

Defining Map weights is exactly the same as setting weight_strokes in the plotter driver. Its up to you whether you use a pen table or the driver to define your weights. The only addition note to bear in mind is if you have both, the pen table will take precedence.

Do I have to load the pen table every time I want to use it?
No. You can load a pen table automatically by adding the line into your driver: pentable = $(MS_PENTABLE)<default pen table>.tbl MS_PENTABLE is the configuration variable that points to the folder or folders where you store your pen tables. This would normally be the Workspace\Standards\Tables\Pen folder. If you would rather force the pentable to load regardless of the driver selected, the variable MS_PLOTDLG_DEF_PENTABLE will achieve this. In this case, rather than use the pentable = setting in your driver, add the line below to your standards.cfg: MS_PLOTDLG_DEF_PENTABLE = $(MS_PENTABLE)<default pen table>.tbl Well cover more on pen tables soon. Next time, plotting to file

Você também pode gostar