### Version 11

```Version 11
The compilation of texts and pictures has ensued with the greatest amount of care. Nevertheless, mistakes cannot be ruled out completely. The authors cannot accept any liability or
incorrect instructions and their consequences.
All rights are reserved, especially the rights for reproduction, sale and translation. Copy and
reproduction of individual paragraphs and pictures may be made without permission of the
authors given that no commercial use (no sale) ensues and a reference to the source of the
texts and pictures is made. This also applies to photocopying or any other means of reproduction, transmission to film, tape, records, OHTs and other media.
7th revised edition
for Grafis version 11
June 2012
translated by Barbara Maria Wentzel-Dickson
7th edition 2012
Grafis- Software Dr. Kerstin Friedrich GbR
Klosterstraße 48
41747 Viersen
Germany
Phone: +49-(0)-2162-12114
www.grafis.de
Source of cliparts:
Cover illustration:
“Carsten Scheibes Clip-Art-CD-Rom“, Systhema Verlag, Vol.1 and Vol.2
“80.000 Cliparts“, 4CDs, Ari Data, Willich
Diplom Grafik-Designerin Jutta Höfs, Viersen
Contents
________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Introduction
7
Chapter 1
Calling basic blocks
1.1
1.2
1.3
1.4
1.5
1.6
Important rules for work with Grafis
Starting Grafis
Calling basic blocks
Alter the screen display
Quit Grafis
Exercises
9
10
12
12
13
13
Chapter 2
2.1
2.2
2.3
2.4
2.5
Work with measurement charts
Size Table
Exercises
Extracting pieces
When help is needed
Pattern output
Stack
Drag, rotate, flip parts
Rolling parts
Exercises
16
21
22
23
25
28
30
31
34
35
37
38
Chapter 4
Create and alter perimeter
4.1 The Grafis data structure
4.2 The construction record
4.3 Geometrical basics
4.4 Deleting objects
4.5 Parallels
4.5.1
Interactive tools and non-interactive
functions
4.5.2
4.5.3
The parallel function
4.5.4
The Parallel 10 tool
4.6 Corners
4.7 Exercises
40
40
41
43
44
44
45
45
46
47
51
Chapter 5
Easy line functions
5.1
5.2
5.3
5.4
5.5
5.6
Raster
Lengthening and shortening lines
Cut, “cut on“ and separate lines
The Front edge 30 tool
Exercises
6.1 Line construction in conjunction with
6.2 Point construction
6.3 Line constructions
6.4 Line with direction construction
6.5 Circle arcs
6.6 Rectangles
6.7 Exercises
70
77
79
82
87
88
88
Chapter 7
Measurements and annotation
Chapter 3
Extracting pieces and pattern output
3.1
3.2
3.3
3.4
3.5
3.6
3.7
Chapter 6
Point, line and direction construction
54
58
61
62
65
66
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
Temporary measuring
Finished measurements
Set and edit text
Set symbols
Interactive tools for buttonholes and
bartack
Attributes
Interactive Seam Tools
Hatching
Markingline function for the creation of
templates
Exercises
93
96
99
102
103
105
106
107
108
109
Chapter 8
Darts and pleats
8.1
8.2
8.3
8.4
8.5
8.6
Relocate dart
Shorten dart
Hoods on darts and pleats
Pinch with new dart
Spread for pleats, pivot open and close
Exercises
112
115
116
117
118
119
Chapter 9
Curve construction and manipulation
9.1
9.2
9.3
9.4
Construction of curves
Manipulate curves
Exercises
Curve correction for classic curves
124
129
130
132
Chapter 10
Transformation
10.1 Transformation
10.2 Insert with transformation
10.3 Complex Exercises
136
141
144
4
Contents
_________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Chapter 11
The construction parameter x value
11.1
11.2
11.3
11.4
11.5
The x values
constructions
The x value reference
The alternative reference size
Exercises on x values
Chapter 16
150
157
159
159
166
Chapter 12
The construction parameter g and z values
12.1
12.2
12.3
The g values
The z values
Complex Exercises
170
171
174
Chapter 13
Interactive Constructions
13.1
13.2
13.3
13.4
13.5
Interactive Bodice 50
Interactive Sleeve 30
interactive constructions
Reconstruct a digitized template pattern
with an interactive construction
Designing the call list
178
188
194
196
198
Chapter 14
Part organisation
14.1
14.2
14.3
14.4
14.5
14.6
Hereditary automatic
202
Part organisation
205
Difference between the functions of the
menus insert and duplicate/ connection part
in the part organisation
206
Modifying mother parts
207
Reset ‘Clicks’
208
Complex Exercises
216
15.2
15.3
15.4
15.5
15.6
15.7
15.8
Preparation for export in the Grafis
construction program
Export formats and their particularities
The export dialogues
Step-by-step guide for export in
AAMA/ ASTM/ DXF format
Step-by-step guide for export in
EPN format and transfer to Gerber
Special settings and errors during export
Manual export
Digitizing the pattern perimeter
244
249
250
254
Edit grade rule patterns, drag and transfer
255
259
262
264
16.9 Create, use and edit a grade rule library 265
267
Chapter 17
Layplanning
17.1
17.2
17.3
17.4
17.5
17.6
17.7
17.8
17.9
Chapter 15
Export and Import
15.1
16.1
16.2
16.3
16.4
16.5
232
233
233
235
236
237
238
239
The fastest way to a layplan
Preparations in Grafis Construction
Structure of the Grafis Layplan
Create production style
Edit layplan information
Layplanning
Additional functions in the Layplan and
Plot layplan
272
272
273
274
277
280
283
286
286
Chapter 18
Layplanning II
18.1
18.2
18.3
18.4
18.5
18.6
18.7
18.8
18.9
18.10
18.11
18.12
18.13
18.14
18.15
18.16
18.17
Alterations to the production style
290
Organise styles
291
Repeat
292
Shrinkage
296
297
Fault areas
298
Categories
298
Step lay (free mode)
300
Layplan sequence
301
Hem position
301
Line types
301
Material catalogue/ material pre-selection 302
Overlap areas
302
Exchangeable pieces
303
304
Cutter output
305
Autonester
306
Contents
5
_________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
The following Chapter and Appendices can be found
exclusively in the Grafis Help, which is opened from
within the Grafis program via the Help pull-down
Chapter 19
Programming Language I
19.1
19.2
19.3
19.4
19.5
19.6
19.7
A simple program: square
Data basis and user interface
Rules for programming
Program: Collar band
Program: Skirt
General guidelines
308
309
313
314
316
320
325
Chapter 20
Programming Language II
20.1
20.2
20.3
20.4
20.5
Collar neck with minimum as external
function
Shirt collar construction
Construction component shoulder seam
relocation
328
334
337
339
341
Appendix A
New in Version 11
A.1
A.2
A.3
New in the Grafis Construction program 347
New in the Grafis Layplanning program 348
New in the Interactive constructions
348
Appendix B
Install and set up Grafis
B.1
B.2
B.3
B.4
B.5
B.6
B.7
Grafis Installation
351
353
Grafis directory structure
358
Grafis.ini parameter
359
Printer/Plotter Setup
365
Plotter adjustment and printer/plotter in a
network
367
Settings for EPN export to Gerber
369
Appendix C
Install and set up Autonester
371
Appendix D
Install and set up Plotmanager
377
Introduction
________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
The Grafis system
The Textbook and the training courses
The Grafis system includes first pattern development, grading and an industry standard layplanning
system. Patterns can be graded by application of the
construction system or using grade rules.
During the styling process Grafis internally creates a
record of the modification steps. The record can
then be re-called to create other sizes automatically
Grafis also records how patterns are derived from
one another, capturing the interdependence of the
pieces. Alterations made to one piece are automatically applied to all interdependent pieces.
Construction parameters can be applied during
pattern development. This enables the user to comfortably modify already finished patterns by simply
changing the construction parameters.
This textbook is designed to allow for an autodidactic introduction to Grafis and/or can be used as
teaching support material during Grafis training
courses.
Prerequisites
The following are requirements for learning to use
Grafis:
• basic knowledge in the use of computers, in
particular the use of keyboard and mouse as well
as working with files and folders and
• good knowledge of garment pattern cutting.
The application of Grafis can also be learned without
knowledge of garment pattern cutting for example
for use in the upholstery industry. Grafis replaces
the user's pencil, ruler and set-square but not the
pattern cutters' knowledge.
Training courses Grafis I and Grafis II are offered in
Viersen/ Germany. Chapters 1 to 10 of the Grafis
Textbook form the content of training course Grafis
I. Chapters 11 to 17 of the Textbook are covered in
Grafis II. Special emphasis is given to digitising of a
style or nest and its further application when dealing
The Grafis programming language, content of Chapters 19 and 20, form Grafis III. It is advisable to learn
about the content of Grafis III if the user wishes to
• generate individual constructions or construction
modules using the Grafis programming language,
• create an individual construction system or
• obtain comprehensive knowledge of system
installation and system maintenance. This knowledge is helpful in particular for those responsible
for CAD in larger clothing companies.
All chapters of the textbook are available for
Outlook
Grafis can only be used at its optimum if the user is
comprehensively trained. To further training, the
Grafis Team continue to make available a free training version. A CD with videos to accompany the
textbook is in process. Current information and
Viersen, June 2012
Chapter 16
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Contents
16.1 Digitizing the pattern perimeter
244
16.2 Overview of assigning grade rules
249
250
254
16.5 Edit grade rule patterns, drag and transfer
255
259
262
264
16.9 Create, use and edit a grade rule library 265
267
______________________
integrated in Grafis. Construction patterns as well
as grade rule patterns (Rule Patterns) can be
used for pattern development.
Construction patterns are generated on the basis of
body measurements. Grade rules are not required
A grade rule pattern consists of a pattern perimeter
grade rule table with size-related point movement in
x and y direction.
Grade rule patterns can be accepted into the record
to form the basis of style development just like
construction patterns. As opposed to construction
This chapter deals with the following topics:
• digitizing a pattern
• overview of options for assigning grade rules
• edit grade rules in three different ways
• saving a grade rule pattern with the options:
¾ accept into the construction record for style
development
¾ deposit as template
¾ deposit as construction into the call list.
rules
• digitizing grade rules from a nest plot
• transfer grade rules from a template
¾ for separation of parts from a complex style
to develop pattern components and
¾ transfer of grade rules from ”tested” patterns
onto digitized contours.
• apply and use grade rule library
244
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
16.1 Digitizing the pattern perimeter
Prerequisites
Prerequisite for digitizing is a digitizer with a 16button mouse, connected and switched on. The
respective Windows driver must be installed. If
these conditions are fulfilled, the test programme
\Grafis\Hilfen\Tabtest.exe displays the current pixel
position of the digitizer cursor in x and y direction
when moving the digitizer mouse across the active
area.
Have the overview of the digitizer key
ready. Both can be found in the <F1> help.
area of the digitizer. At the beginning and after each
change of position, only the position is to be defined
as follows: <Tab> (Tab key) starts setup. Then,
digitized.
Step-by-step guide
⇒ Prepare digitizer
⇒ Prepare the pattern to be digitized, mark missing
notches etc., decide whether to digitize with or
without seam allowance
⇒ Activate and annotate an empty part in the part
list (possibly prepare the part list with
annotations for all parts to be digitized)
⇒ Enter the base size of the pattern to be digitized
into the first position in the size table
⇒ click Rule Pattern | digitize
⇒ Determine entry transformation and define scale
Preparation
Digitizing is easier if the required grade points are
marked on the pattern. This could be done by
hand, also.
With Rule Pattern | Digitize Grade Rule Pattern
digitizing ensues into an empty part. Therefore,
activate a part with ”0” record steps. The digitized
pattern can be inserted into the record or the call
list or can be saved as a template, later.
With Rule Pattern | Edit Grade Rule Pattern
subsequent digitizing of points, lines or grade
rules into non-edited or edited grade rule patterns
or even into constructed patterns is possible. This
option is not explained in detail.
Before digitizing, Grafis is to be told the size of the
pattern to be digitized. The base size is to be
entered into the first position of the size table. In the
example blazer side panel (Picture 16-5) this is size
38.
After these preparations, continue with Rule Pattern
grade rule patterns shown in section 16.4 is opened.
First, open the digitize menu shown via the digitize
entry transformation:
p+px => (0,0)
p+py => (0,0)
p+px => p
p+py => p
p+p => p+p
Fa=... (e.g. 2 for patterns in half scale)
⇒ Digitize lines and points
⇒ possibly: Save digitized patterns and digitize
scale factor
another pattern
or
⇒ Edit (subsequent digitize / replace) and save the
grade rule pattern (see sections 16.4 and 16.5)
⇒ Quit with
points
lines/curves
increments
You cannot click in the digitize menu. The functions
are controlled exclusively via the menu template on
the digitizer table. The digitize menu indicates the
current state.
245
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Entry transformation
For the data transfer digitizer to (=>) Grafis five
entry transformations are available
p+px =>0,0
p+py =>0,0
p+px =>p
p+py =>p
p+p =>p+p
The entry transformation determines the data
transfer digitizer to (=>) Grafis. It is to be updated
after repositioning the pattern on the digitizer. The
entry transformations are called via the menu
template. They have the following significance.
Transformations p+px => 0,0 and p+px =>p
digitizer
Y
Pb
X
Grafis
Y
Pa
X
0,0 or Pc
Picture 16-1
These transformations align the pattern horizontally.
With p+px => 0,0 the first digitizer point Pa is set
onto the zero point in Grafis. The second digitizer
point Pb defines the x axis of the digitizer template
(Picture 16-1).
As opposed to p+px => 0,0 the first digitizer point
Pa is positioned on a point to be constructed in
Grafis with p+px =>p.
Transformations p+py => 0,0 and p+py =>p
digitizer
Y
Pb
X
Pa
Transformation p+p => p+p
digitizer
Pa
Grafis
Pc
Pb
Pd
Picture 16-3
The first digitizer point Pa is set on position Pc in
Grafis. The second point Pb is set on Pd in Grafis.
The scale and co-ordinate rotation is calculated
according to these settings (Picture 16-3). Use this
transformation for inserting/replacing curves for
example.
Scale factor
For all transformations other than p+p=> p+p the
scale factor is to be set. The digitized point coordinates are multiplied with this factor. A pattern
with scale 1:2, digitized with scale factor 2.00
appears full size in Grafis.
The digitizer mouse key functions
For digitizing, a 16-button mouse is required. The
keys are assigned the following functions (Picture
16-4):
Grafis
Y
X
0,0 or Pc
Picture 16-2
These transformations align the pattern vertically.
They differ from p+px => 0,0 and p+px =>p only
in the second digitizer point Pb defining the y axis of
the digitizer template (Picture 16-2).
Picture 16-4
246
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Picture 16-5
247
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
1: <digitize>
Set digi point.
2: <deposit+continue>
The active line/curve (red) or active points
(black, round) are deposited. The next line/curve
is linked, directly. Starting point of the next
line/curve is identical to the final point of the last
line/curve. It is not digitized again.
3: <deposit+start>
The active line/curve or active points are
deposited. A new object with a new starting
point is digitized.
4: <delete nearest digi point>
The point closest to the cursor and active (digi
point or grade point) is deleted.
A digi point is digitized as a grade point.
6: <click p>
Set digi point onto a point.
7: <click l>
Set digi point onto a line/curve.
8: <click pl>
Set digi point onto the fulcrum of a line/curve.
9: <zoom digi area>
The screen display is zoomed so that it contains
all active digi objects not yet deposited.
10: <zoom all>
The screen display is zoomed so that it contains
all screen objects; as the function ”centre
picture” with <F6>.
11: <zoom +>
Increase screen display.
12: <zoom ->
Reduce screen display.
15: <move points>
16: <re-digitize lines/curves>
Replace lines/curves. The starting and final point
of the line/curve cannot be changed.
The functions <move points> and <re-digitize
lines/curves> are particularly useful for editing grade
rule patterns which are already incorporated in style
developments.
The functions of the menu template will be
explained after the exercises.
Digitizing points and lines/curves
In the digitizing mode all deposited lines appear in
blue and all active lines in red. Active points are
round and red filled. Deposited points are black
crosses. Switching between [points] and [line/curve]
(on the menu template) effects all active objects.
Each digitized line or point sequence must be
deposited
with
<deposit+continue>
or
<deposit+start>. Starting and final point of a
line/curve are automatically converted into grade
points. It is resumed with a new object.
Check before each deposit that the digitized
contour equals the template with <zoom digi area>.
Step-by-step guide
⇒ Select object type [points] or [line/curve]
⇒ if [line/curve]; at the beginning and
after
<deposit+start>:
• digitize starting point of the line,
Option 1 ”form with intermediate points”:
• digitize final point of the line,
• <zoom digi area>,
• digitize intermediate points
Option 2 ”digitize in sequence”:
• digitize line in sequence,
• <zoom digi area>,
⇒ if [points]:
• digitize all points
⇒ Correction with <delete nearest digi point>
⇒ Deposit the digitized line or points with
• <deposit+continue>, if the final point of the
digitized object is to be the starting point of
the next object or
• <deposit+start>, if the next object starts at
a new position.
⇒ Correction with <move points> and <re-digitize
line/curve>
Digitize the objects of the template. The perimeter
should have no gaps. It can be closed by binding the
final point of the last line onto the existing objects
with <click p>, <click l> or <click pl>.
Points on lines (e.g. notch positions) should be
bound onto previously digitized lines with <click l>.
Exercise
Digitizing is explained using the blazer side panel
depicted in scale 1:2 as an example (Picture 16-5).
Note that the smaller the scale of the template, the
less accurate the digitized pattern.
Fix a copy of the blazer side panel to the digitizer.
Activate an empty part in the part list, annotate the
part and set the base size (here: ____38_0) onto
position 01 in the size table. The following steps
relate to Picture 16-6.
Rule Pattern | Digitize Grade Rule Pattern
digitize
<TAB>
digitize points P1 and P2 of the
248
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
4
P5 with <digitize>
<zoom all>
<deposit +continue>
5
Now, the second option follows. First, the final
point is digitized and then, the intermediate
points. We recommend this option as the rule
“the less points the smoother the curve“ applies
to digitizing, also.
6
10
16
17
3
7
15
14
13
11
12
18
2
1
8
19
9
Picture 16-6
p+py=>0,0 click point 11 and then point 10
Fa=2
for templates in scale 1:2
[line/curve]
P1 with <digitize>
P2 with <digitize with grade point>
P3 with <digitize with grade point>
P4 with <digitize>
<zoom digi area>
This curve was digitized „in sequence“. The other
option follows when digitizing the armhole curve.
Before deposit, shape the curve with points P14,
P15, P16.
P14 with <digitize>
Should P14 not be at the required position delete
P14 with <delete nearest digi point>
P14 with <digitize>
P15 with <digitize>
P16 with <digitize>
<deposit +continue>
P7 with <digitize>
<zoom digi area>
P6 with <digitize with grade point>
P17 with <digitize>
<deposit +continue>
P9 with <digitize>
<zoom digi area>
P8 with <digitize>
The function <digitize with grade point>
is not used, here as digitizing points is to
be covered.
P18 with <digitize>
P19 with <digitize>
<deposit +continue>
Digitize the notch P8 as a grade point.
[points]
click P8 with <click l>
<deposit + start>
[line/curve]
<zoom all>
click P9 with <click pl>
click P1 with <click pl>
<deposit + start>
The contour is closed. All notch positions are
marked with grade points. Digitize the grain line,
also.
P10 with <digitize>
<deposit+continue>
P11 with <digitize>
<deposit+continue>
P12 with <digitize>
<deposit+continue>
P13 with <digitize>
<deposit+start>
The pattern is digitized in base size 38. Carry out a
final check. The function keys <F2> (zoom with
digitizer mouse) and <F6> works in digitizer mode,
also.
Deleting objects is possible in the Rule Pattern |
Digitize Grade Rule Pattern mode, only, not in the
Rule Pattern | Edit Grade Rule Pattern mode. To
delete points select [delete objects p] from the menu
template. To delete lines/curves select [delete
objects l] (echo → right menu strip). Delete all
249
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
respective objects with the digitizer mouse. Deleting
is terminated with [delete objects OFF].
Replacing objects is possible in the Rule Pattern |
patterns which are the basis for style developments
can be altered, subsequently. To move a point click
on it with the digitizer mouse key <move points>
and digitize it again. With <re-digitize line/curve>
you can replace a line/curve. Starting and final point
of
the
line/curve
remain
unchanged.
<deposit+start> deposits the new line/curve.
continue according to section 16.6. Otherwise, you
can choose between
• digitizing all patterns and apply grade rules, later
or
• entering the grade rules for the pattern, directly
and then, digitizing the pattern.
for saving the digitized pattern in the record. Grafis
opens a window for display of part numbers and
names. Select an empty part with the template
functions [↑] and [↓] and save with [YES]. This saving
from the digitizing mode allows for digitizing of a
number of patterns without having to change
between digitizer mouse and keyboard. The names
for the parts to be digitized can be entered into the
part list prior to digitizing.
Terminate digitizing with [quit digitizing] from the
menu template. If you do not wish to continue to
proceed with the next section of this chapter,
immediately deposit the digitized pattern into the
active part with save => in record. It can be
processed further via Rule Pattern | Edit Grade Rule
Pattern.
defined with <Tab> and digitizing points P1 and P2.
by clicking. They have the following significance:
[ p+px => 0,0 ]
[ p+px => p ]
[ p+py => 0,0 ]
[ p+py =>p ]
[ p+p => p+p ]
Activate one of the five described entry
transformations.
[ Fa= ... ]
Enter the scale factor (except for ”p+p =>
p+p”).
[ points ]
Digitize single points (applies to all active digi
points).
[ line/curve ]
Digitize line/curve (applies to all active digi
points). For a line select [line/curve], digitize the
starting and final point and deposit the object.
nest, see section 16.6.
[ set attributes ]
Set attributes for the active type of object
[points] or [line/curve]. Click the required
attribute number 1, 2 or 3. As an echo, the new
attribute number appears in brackets in the
menu strip on the right behind the object type,
e.g. lin/cur (3) means the digitized
line/curve is given line attribute no. 3.
[ delete objects ]
Delete points with [delete objects p] or lines with
[delete objects l]. Quit deleting with [delete
objects OFF].
[ save to part ]
Save the digitized patterns to an empty part to
be selected from the part list. With [ ↑ ] or [ ↓ ]
you can scroll in the part list. The selection is to
be confirmed with [ YES ].
[ ↑ ] or [ ↓ ]
Scroll in the part list.
[ save ] or [ abort ]
Confirm selection in the part list or abort saving.
[ quit digitizing ]
Quit digitize mode. The dialogue resumes at the
computer.
The following functions were not used in the
Exercise:
• delete objects
• set attributes and
• saving from the digitizing mode.
16.2 Overview of assigning grade rules
Grade rules should be assigned to break sizes, only.
All other sizes are calculated by Grafis by
interpolation or extrapolation analogous to
calculation of x values.
Overview of options for grade rule assignment
• The option enter absolute grade rules
(section 16.3) is the most common way of
assignment. Grade rules can be entered in mm
or 1/10mm.
250
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
• The option enter grade rule differences
(section 16.3) is also used.
tick. In the industry, the display option 1/10 mm
is common.
• The option digitize grade rules (section 16.6)
is required if grade rules are not available as
numeric values but indirect as graded nest or
sets of sizes.
Enter values in the line highlighted with a bar.
The interpretation of the values in x and y
direction depends on the display option selected
• The option transfer grade rules with copy or
proportional (section 16. 5) is use for additional
under View. The values are accepted with
or <ENTER>.
• With the option drag grade rules (section 16.5)
grade rules can be altered “by eye“ or with
raster values.
accepts values in fields “X“ and “Y“. The
marked size becomes break sizes.
• The option apply grade rule library (section
16.9) is interesting for companies who have
many years of experience of grading and work
with their own libraries.
• For the option transfer grade rules from a
template pattern (section 16.7) proven
gradeable templates have to be saved for the
respective style types. Digitized first patterns
rules from these templates.
• The import of grade rule patterns from other
Chapter 15.
deletes marked size as break size. The values
for this size are interpolated.
Selection of a different figure type
Display of the current rotation angle for grade
rules. Rotation of grade rules is activated via
Edit | Rotate/ mirror grade rules permitted.
Further explanation follows in the text.
Entry of own number for grade rule (0 to 999),
Grade points are marked with a red or green circle.
A red circle indicates that the grade point has not
The different options for assigning grade rules were
mentioned briefly in section 16.2. Topic of this
section is editing grade rules in the options normal
and difference display.
The window for editing grade rule tables (Picture
16-7) opens after having clicked on a grade point. A
red arrow indicates the grade point for which the
grade rule table is displayed. The most important
elements of this window are explained in Picture
16-7.
View
Display the grade rules in millimetres or 1/10
millimetre. The active option is indicated with a
The cards norm and diff contain different view
options fort he current grade rule table (Pictures
16-9 and 16.10). Changes to the view alter the
contents of the other displays, also.
grey edit window at the lower window edge
In this edit field you can enter your own
double-click, clicking another function closes the
field. Grafis automatically enters information on
source of the rule and dragging the grade point
into this field.
Topic of the following exercise is entry of grade
rules in the normal view. Then, explanations on
the display option “diff” follow.
251
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Toggle between display
in mm and 1/10 mm
Base size
as break size
as break size
for x or y
Display options
Label for
break size
Label for
base size
Dialogue field for
double-click.
Size column
Difference to base size in y direction
Difference to base size in x direction
in mm or 1/10 mm
Picture 16-7
Exercise: Enter grade rules for blazer side
panel
For the blazer side panel digitized in section 16.1
range from 34 to 46. The following grade rules
belong to the grade points numbered according to
Picture 16-6 (values in mm). They may not
correspond with common grade rules. Practise
entry of grade rules. Later, you can determine your
own values.
Point 01:
____34_0
36.2
5.6
*____38_0
.0
.0
____46_0 -72.4 -11.2
Point 02:
____34_0
36.1
5.6
*____38_0
.0
.0
____46_0 -72.1 -11.1
Point 03:
____34_0
*____38_0
____46_0
Point 04:
____34_0
*____38_0
____46_0
Point 05:
____34_0
*____38_0
____46_0
Point 06:
____34_0
*____38_0
____46_0
Point 07:
____34_0
*____38_0
____46_0
35.9
.0
-71.9
5.3
.0
-11.2
24.1
.0
-41.3
-5.1
.0
5.0
25.7
.0
-43.9
-4.7
.0
5.5
28.1
.0
-47.8
1.8
.0
-7.0
22.1
.0
-40.1
7.7
.0
-15.2
252
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Point 08:
____34_0
22.2
*____38_0
.0
____46_0 -40.4
Point 09:
____34_0
23.1
*____38_0
.0
____46_0 -42.4
Points 10 to 13:
____34_0
33.7
*____38_0
.0
____46_0 -62.4
clicking this point. Enter the grade rules and
continue with the other grade points. Test the
with grading with the result shown in Picture 16-8.
4.7
.0
-9.7
4.5
.0
-8.6
Normal view “norm“
The normal view of grade point 01 from Picture
16-6 is shown in Picture 16-9.
2.1
.0
-6.9
exercise in section 16.1 and deposited the contour
with save => in record you have to activate the
respective part, first and, then, re-open the menu
via Rule Pattern | Edit Grade Rule Pattern.
Click on Point 01. The grade rule table analogous to
Picture 16-7 opens. The grade rules are assigned
with „0” originally. Set the display to mm by
selecting Display | mm. Mark size ____34_0 and
enter the values 36.2 into the edit field
and the value 5.6 into the “y“ edit
field. Move between the two fields with the
or
<Tab> key. Accept the values with
<Enter>.
Continue with the values for size ___46_0 by
marking this size and entering -72.4 into the “x“ edit
field and -11.2 into the “y“ field and accept. The
grade rule table is assigned in the normal view
according to Picture 16-9.
Picture 16-9
The columns of this view contain:
1: indication of base and break sizes. The sign
>> indicates the base size to which the grade
rules relate. > indicates the break sizes.
2: the size name,
3: the grade rule of the size in x direction, as
difference to the base size. Display is in mm or
1/10 mm depending on the setting in Display.
4: the grade rule of the size in y direction.
For all non-break sizes the grade rules are
interpolated or extrapolated from adjacent break
sizes.
A size becomes a break size by marking the size,
editing the setting if required and accepting with
.
Difference view “diff“
Picture 16-8
Regard the grade rule for point 01 in the difference
view (Picture 16-10).
In this view, in addition to the values of the break
sizes, the difference per size is displayed and can
be edited. In Picture 16-10 these are sizes 34, 38
and 46. The base size 38 is marked with >>. The
line with the size name in the second column
contains the grade rule for this size as difference to
the base size. The respectively following line with a
value in the ddx column indicates the difference
value per size. Difference values should be edited in
the difference view diff.
253
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
A grade rule for a slit notch must be a global grade
rule as the notch is otherwise detached from the
base line, see Picture 16-11.
If the switch “global grade rule” is removed,
Grafis expects the user to click the base line for
Picture 16-10
If you have the difference values per size proceed as
follows with entry of grade rules:
⇒ Mark all break sizes in the normal view by
marking the respective size and accepting the
.
value with
⇒ Display | Show break sizes only
⇒ Then, change to difference view diff and enter
the grade rule differences in x and y.
Note: If the increments are identical for all sizes
accept one size larger than the base size as a break
size. If 38 is the base size accept size 40 with
and enter the grade rule for size 40 in the difference
or normal view.
The functions in the grade rule window in Picture
16-7 have the following significance:
File |Save in Library...
saves the grade rule table in a library, provided a
library is available (section 16.9).
File |Delete from Library...
deletes the grade rule table from the library
(section 16.9).
File |Print
prints the single grade rule table in the active
display option. An overview of all grade rule
tables can be output via the print menu function.
File |Close or
closes the window.
Edit | Grade point becomes new stack point
changes the marked grade point into the new
stack point of the grade rule pattern.
Edit | Reduce break sizes (all grade points)
automatically removes the mark for break sizes
from all sizes which can be calculated by
alteration. In an interim step, the user can mark
the preferred break sizes, see Picture 16-12.
applies to all lines within the search environment. If
two lines meet in a corner, this switch must be set.
Picture 16-12
Picture 16-11
The switch must not be set if a grade rule is to apply
to one line/ one point only. If for example the grain
line touches the contour by accident in the base
size, the grade rule at the grain line must not be a
general grade rule. Otherwise, the contour ”hangs
on” the grain lines for grading.
The selected sizes remain break sizes if the
grades are constant. Only break sizes actually
remains unchanged after calling this function.
254
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Edit | Reduce break sizes (this grade point)
as before but for the marked grade point, only.
Edit |Set x and y to 0 (this grade point)
deletes all grade rule settings. After calling this
Edit | Set x to 0 (this grade point)
Edit | Set y to 0 (this grade point)
deletes the x or y component of the grade rule.
After calling this function the grade point is
Edit | Rotate/mirror grade rules permitted
If this option is ticked grade rules of the marked
point can be mirrored and rotated. A crosshair
appears with the functions analogous <F3>.
Rotate and mirror grade rules should be used by
experienced users, only. The rotation angle and
mirror are indicated in the grade rule table. The
grade of the pattern is changed.
Edit | Rotate/mirror complete grade rule pattern
permitted
If this option is checked, the pattern can be
rotated. The grade rule tables are updated, so
that the grade of the pattern remains unchanged.
Edit | Move grade one size up
The base size and the grades move one size up.
The contour of the larger size becomes the basis
Display | mm or Display | 1/10mm
Display of values in mm or tenth of a millimetre.
Display | Show break sizes only
Only the break sizes are displayed.
Display | Show individual sizes
The individual sizes entered in the size table are
displayed in the position of their corresponding
standard size.
grade rule pattern is to be saved. The following
three options are available:
digitize
extract
set
drag
group
+/-display number
edit
transfer
drag
+/-measurement
set measurement
delete
print
save…
=> in call list
=> as template
=> in record
test run
stack
Save =>in record
The grade rule pattern is accepted into the active
part. Thus, depositing this pattern is a construction
step in the part and corresponds to call grade rule
construction. Select this option if you digitize a
number of new patterns. In this case, open a new
style in Grafis, prepare the part list with the names
of the pattern pieces to be digitized at the beginning
and then, digitize the patterns. This way all pattern
pieces are saved in one Grafis style. After testing
each part can be saved as a template or in the call
list via Rule Pattern | Edit Grade Rule Pattern.
If more than one grade rule pattern has been called
into a part, a list of buttons appears at the bottom of
the menu. Clicking these buttons switches between
the grade rule patterns in the part.
255
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Save => as template
The grade rule pattern is saved in the directory for
template patterns \Grafis\[current measurement
system]\SWERT or in another directory. Grade rule
pattern files have the extension *.SWS. The grade
rules of these template patterns can be transferred
to other grade rule patterns (see section 16.7).
Save the blazer side panel from section 16.3 as a
template under \Grafis\[current measurement
system]\SWERT\JACKET.SWS.
Save => in call list
construction in the call list.
Save a pattern in the call list, only after is has
been tested and released.
Step-by-step guide
rule pattern to be saved via Rule Pattern | Edit
⇒ save => in call list
⇒ Click on
or
and enter a suitable name
⇒ later: edit the call list, design a graphic for the
construction and store text information
Save the blazer side panel from section 16.3 in the
call list. After having clicked save => in call list the
dialogue Insert modules opens (Picture 16-13).
After OK the file is created in the directory
\Grafis\[directory of measurement system]\Prog. In the
call list you can find a New entry in the area of
constructions of the measurement system. The
entry can be renamed and designed.
16.5 Edit grade rule patterns, drag and
opens for Rule Pattern |
Depending on the selection certain functions are
greyed out. The individual menu functions have the
following significance:
Digitize and extract
Depending on the selection one or more of these
functions are available. Digitize starts digitizing of
contours or grade rules, see sections 16.1 or 16.6.
Extract starts extracting a grade rule pattern from
the active part. The active part can be
• a constructed pattern based on body
measurements or
• a grade rule pattern with or without
modifications.
The possibilities of this function are topic of section
16.8.
The grade points section contains all functions
automatical
constructive
Picture 16-13
For entry of a name for the grade rule pattern file
and you can enter the file name in the
click on
Save as field. Alternatively, a prepared mask can be
. This interface is explained in
called by clicking
more detail in section 14.5.
With automatical grade points are set
automatically. Existing grade points are not
overwritten or deleted.
With constructive individual grade points can be
set with the known point construction functions.
256
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
The new grade points are marked in red as their
grade rule tables are still empty. With the functions
the curve shape has not been graded as required.
With drag grade points the contour of the base size
can be altered. Activate drag. The Grafis Raster tool
window opens (Picture 16-14). If the Raster value
button is pushed in, the grade points are dragged in
the set raster steps.
edit
drag
1=>1 (xy)
1=>1 (x)
1=>1 (y)
[special 1]
set special 1
[special 2]
set special 2
2=>1 (linear)
2=>1 (curved)
Picture 16-14
Activate Raster value and drag a grade point with left
mouse button pushed down. You are altering the
shape ”by eye”. Grafis displays the movement of the
grade point in x and y direction in the Grafis-Raster
tool window. Terminate dragging with . Only after
having confirmed the security question are the
alterations accepted. For your information, Grafis
registers the move values in the dialogue window of
the grade rule table with code % and the alteration
date, see picture 16-14.
formed. This special grading option is topic of
section 16.10.
Switch to +display to show the grade point
number. The screen image can be output via Edit |
Copy (Clipboard) or with the functions of the print
rule tables with the following options:
grade rule table opens, see section 16.3.
Copy allows for transfer of grade rules from one or
options:
• 1=>1 ,
• [special] and
• 2=>1 .
The options ”1=>1” differ as follows:
1=>1(XY) the complete grade rule table is
copied
1=>1(X) only the x component value is
copied
1=>1(Y) only the y component value is
copied
For ”1=>1”-copying activate one of the three copy
rules are to be copied. Move the cursor. An arrow
appears with which you define onto which grade
point the grade rules are to be copied. Quit copying
with .
With the options ”[special]” grade rules are copied
from one grade point to another. When copying, the
x component can be mirrored for example
([Xspg Y]). In the other case the grade rules are
not overwritten but added. Double-click on set
special allows for selection of other special options
which should be used by experienced operators,
only.
257
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
The options ”2=>1” transfer the grade rules of two
points onto a third. They differ as follows:
2=>1(lin)
2=>1(cur)
The new grade rules are calculated
linear in relation to the direct
connection between the two
points. Use this option when the
points lie on a long (imaginary)
connecting line.
The new grade rules are calculated
as components. Use this option
when the points lie on a shaped
(imaginary) line.
these points ...
Set measurements
With set measurements you can include specific
measurements on a grade rule pattern. When
measurements are altered immediately. Setting
measurements ensues in the same way as temporary
measuring in Chapter 7. The switch +/measurements shows or hides the measurements.
Delete
Delete opens a sub-menu. It allows for deletion of
single or all points or lines of the contour. Grade
single lines
single points
all points and lines
... are transferred
to this point.
Picture 16-15
For “2=>1”-copying activate one of the two copy
options and click the grade points from which the
points to obtain new grade rules with the arrow
(Picture 16-15). Quit with .
Note the exercise in this section.
transferring grade rules from template patterns, see
section 16.7.
opens the Grafis-Raster tool window. At the same
time, all sizes in the size table are graded. The
contour of the different sizes can now be dragged
directly with or without raster. NB: These
alterations are directly transferred to the grade
rule table of the active grade point! A different
grade point can be activated at any point by clicking.
Dragging grade rules can be quit with .
points are deleted individually with single grade
Deleting points and lines of the contour during
alteration of a grade rule is not permitted as
subsequent construction steps could relate to these
objects.
Print
Print opens the sub-menu with the following
functions:
print
copy
print
rule table for all grade points. The table contains the
in the break sizes.
Copy grade rule table copies the table to the
clipboard. For a formatted view select a proportion
typeface, e.g. CourierNew.
258
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
rule pattern with marked grade points. Should the
menu: +display) these are plotted, also.
Test run / grading / stack / save
topic in section 16.4.
Exercise
Activate the gradeable blazer side panel from
grade points with „2=>1”-copy onto the new
part organisation
Rule Pattern | Edit Grade Rule Pattern
click l
armhole curve
copy 2=>1(linear)
Picture 16-15. First, click on
the front pitch then, the point
on the side seam and then, the
Terminates copying
The grade is shown in the right
nest in Picture 16-16. The
curve shape is slightly flatter.
copy 2=>1(curved)
Steps as above
The grade is shown in the left
nest in Picture 16-16. The
curve shape is slightly rounder
terminates copying
Drag the grade point in the base size 38 by
approx. 2mm ”to the left”, i.e. 2mm in negative
X-direction (Picture 16-17).
2mm in negative x
direction:
before
after
38
46
Picture 16-17
pressed left mouse button. The
move amount is shown in the
dialogue window.
By dragging the grade point you have altered the
contour of the pattern in the base size. Grafis
registered the move values of the grade point in the
dialogue window of the grade rule table with code
%
and
date
of
alteration
(e.g.
%31-07-98 = -2.0 0.0).
left:
2=>1(prop) copied
Centre:
point
right:
2=>1(lin) copied
38
34
With this pointer
for sizes 34 or
46 can be
dragged.
34
46
38
Picture 16-16
34
46
Picture 16-18
259
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
These
alterations
are
accepted
without
confirmation.
which you want to drag the
according to Picture 16-18
with pressed left mouse
button. The move value is
indicated in the dialogue
window.
If the pattern is available as a graded nest, i.e. all
required sizes stacked, the grade rules can be
digitized.
The nest has to contain the base size and the
break sizes, only. Further sizes do not have to be
digitized, they are interpolated by Grafis,
automatically. Why work harder than necessary!
Step-by-step guide
⇒ Digitize the pattern perimeter of the base size
(see section 16.1)
⇒ Open the size table via Extras | Size table and
enter and activate the sizes of the nest in
systematically order. The size in position 01 is
the size of the digitized contour. The grade rules
of all further activated sizes are digitized in this
order.
• Rule Pattern | Edit Grade Rule Pattern
• Digitize
• Determine entry transformation and scale
factor
template
respectively with:
it is sufficient to click near the point.
• Digitize position of the point in other sizes;
the size to be digitized is displayed on the
menu strip. The displayed order is to be
followed, exactly.
• After having digitized the last size the
computer gives an acoustic signal.
template.
⇒ possibly:
re-digitize
rules
⇒ Quit
with
[Quit
digitizing] on the
template or
pattern
pattern in the record,
as a template or in
the call list.
After having quit the
digitize mode test the
state or work with test
Should errors occur
rules can be re-digitized.
Exercise
Picture 16-19 shows a
side panel (Exercise in
section 16.1) in sizes 34,
38 and 46. For more
clarity the sizes are not stacked as usual but
displayed shifted. The grade rules of the blazer side
panel are to be digitized.
Fix a copy of the nest to the digitizer table. First,
digitize the contour in size 38, see section 16.1.
After having digitized the contour the grade rules
are to be digitized.
The following steps relate to Picture 16-20.
<zoom all>
Sizes 38, 34 and 46 appear below Grade Rules in the
menu. If other sizes or a different order appear, the
entries in the size table have to be altered. In this
case, quit the digitizing mode but not the Grade Rule
Pattern menu and edit the size table via Extras | Size
Table. After digitize you are back in the digitize
mode. If the pattern on the digitizer table was not
changed resume digitizing the grade rules,
immediately.
260
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
46
38
34
Picture 16-19
261
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
6
3
46
4
5
1
2
38
34
nest can look bad. First, analyse which points were
not graded correctly. If necessary deactivate size 46
in the size table so that sizes 34 and 38 are
displayed, only. Re-digitize the grade rules. During
digitizing grade rules, sizes 38, 34 and 46 must be
active, again.
In the next step the curve shape in the graded sizes
is to be checked. The shape of the panel seam in
size 46 is not yet identical with the template.
To correct curve shapes set one or more
click l
points P1 and P4 (Picture 1621)
Picture 16-20
Point P1 in size 38 corresponds with point P2 in size
34 and P3 in size 46. The grade rules for this point
are digitized as follows:
P1 with <digitize> digitize approximately
P2 with <digitize> digitize exact
P3 with <digitize> digitize exact
After P3 the computer gived an acoustic signal. It
means: grade rule digitizing for this point is
completed. The grade point is now marked in green
and assigned with a grade rule. You can resume with
still marked in red.
P4 with <digitize> digitize approximately
P5 with <digitize> digitize exact
P6 with <digitize> digitize exact
If an error occurs during those steps continue
digitizing to the signal (or press digitizer mouse
button no. 4) and digitize the grade rule again.
points are marked in green. Quit the digitizing mode
with [Quit Digitizing] on the menu template and test
2
1
3
46
5
4
6
38
34
Picture 16-21
the sizes of the nest, also.
P1 with <digitize> digitize approximately
P2 with <digitize> digitize exact
P3 with <digitize> digitize exact
After P3 the computer gives an acoustic signal.
Continue with P4, then, quit the digitizing mode
with [ Quit Digitizing ] on the menu template and
test again.
262
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
(see section 16.4).
Transfer grade rules from another Grafis part
Grade rules can be transferred from another part of
the Grafis style onto the active grade rule pattern in
a very user-friendly manner. The required part must
be graded and visible in the background, see Picture
16-22.
active
Grafis part
After Installation of Grafis no template patterns are
available. Template patterns are generated via save
Saving a grade rule pattern as a template is possible
via Rule Pattern | Edit Grade Rule Pattern or Rule
Pattern | Extract Grade Rule Pattern (see section
16.8).
opens the sub-menu shown on the right with the
following functions:
template…
call
hide
coordinate
move
turn angle
Picture 16-22
are visualised in form of small points. Click on a
point or a line in the graded Grafis part and then
move the cursor to the active grade rule pattern.
Click the corresponding grade point in the active
assigned to this grade point. Visualise the current
Transfer grade rules from a saved template
pattern
from a saved template pattern. Use this option
when a pattern is available in the base size, only.
Digitize the pattern in the base size and then,
transfer the grade rules from an available tested
1=>1 (xy)
1=>1 (x)
1=>1 (y)
single
guided
+/- display identical
+/- x component
+/- y component
grade point to be clicked, see section 16.3.
Function group template
The functions below template help with
preparation of the template for transfering grade
rules.
First, call the template. Select a tested grade rule
pattern saved as a template (*.SWS). The template
appears with dashed lines. At the same time, Grafis
asks you to co-ordinate both patterns to one
another. Co-ordinate (explained in the following) is
To call another template you have to hide the active
template, first. Then, a new template can be called.
It is possible to transfer grade rules from more than
one template.
263
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
With co-ordinate you define which grade points
have identical grade rules. First, the point of the
template is to be defined then, the point in the
Move allows for the template to the moved, rotated
or mirrored. Functionality corresponds to the
<F3> function. During rotation or mirror of the
template the grade rules are updated, also.
Therefore, rotate and mirror before copying the
grade rules. The rotation angle of the template is
displayed in the menu. For very small rotation drag
further away from the centre of the circle. Moving
the template does not affect the grade rules.
After having adjusted and positioned the template,
effectively copying grade rules begins with the
functions below copy.
Exercise
Generate a blazer side panel similar to Picture 1623, for example by drawing and digitizing the
contour. Transfer the grade rules from the template
saved in section 16.4 as JACKET.SWS.
rule pattern
template
Function group copy
With the functions below copy transferring grade
rules from the template and copying onto the active
The copy options were explained in section 16.5,
already. For the copy option ”1=>1” copying can
ensue either single or guided. With guided the
after the other are the beginning of a thread which is
to be connected with the corresponding grade point
of the template. The grade points are processed in
order of their numbers. Assigning can be skipped
. Activating single terminates guided
with
transfering.
Display options
In the option +display identical grade points with
identical grade rules are connected with dashed
lines. The following are connected:
+x components and +y components:
+x components and -y components:
grade rule tables with identical x components
-x components and +y components:
grade rule tables with identical y components
Picture 16-23
Edit the digitized pattern with the Grade Rule Pattern
call
open JACKET.SWS
The prepared blazer side panel appears dashed.
co-ordinate click in both patterns the
corner points armhole/ side
seam
move
move and rotate the template;
reset rotation to 0
guided
copy 1=>1 (XY)
if necessary skip a point with
and re-process with single
nest in Picture 16-24 (sizes 34,
38 and 46).
Rule: transfer again. The settings for transfer remain
If necessary the pattern can be edited further with
the functions explained in section 16.5.
264
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
pattern. The pattern must be identical with the
original construction pattern. Especially on
curves differences occur which can be rectified
points do not have to be set again. Click
When no differences are visible the grade rule
pattern can be saved.
⇒ Possibly, edit the grade rule pattern according to
section 16.5
⇒ Save the pattern according to section 16.4
⇒ Quit with .
Test extracting by saving production patterns or
certain development stages of a style as grade rule
patterns. From the constructed blazer side panel in
Picture 16-26 the grade rules for the break sizes 34,
38 and 46 were extracted with automatically set
grade points. In Picture 16-25 the nest of the
constructed pattern and the extracted pattern are
displayed on top of one another. On the marked
lines differences can be found.
These differences between construction pattern and
points.
Picture 16-24
Each Grafis part can be extracted to a grade rule
pattern. This applies to pure construction patterns
as well as grade rule patterns which were edited
with the Grafis construction functions.
Changing a part into a grade rule pattern or
“extracting” a grade rule pattern is interesting for
example for:
• releasing one or more parts form a hereditary
line for use in a different style or
• transferring a tested, constructed grade onto a
pattern available in the base size, only.
Step-by-step guide
⇒ Activate the part to be changed into a grade rule
pattern;
⇒ Enter the base size into position 01 in the size
table; in the following positions of the size table
enter and activate all sizes from which you want
⇒ Rule Pattern | Extract Grade Rule Pattern
⇒ extract, First, set the grade points automatically.
points for all sizes active in the size table.
Picture 16-25
265
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
grade points and constructive according to Picture
16-26 and repeated extract the nests of the
constructed pattern and the grade rule pattern are
identical (Picture 16-27).
Prior to extracting, check if notches or other
symbols should be replaced by points. A notch for
example consists of two grade points. The base size
and all break sizes must be entered in the size table
and must be active. Proceed according to the stepby-step guide and save the patterns in the call list
and as template grade rule patterns.
16.9 Create, use and edit a grade rule
library
Picture 16-26
Construction pattern and grade rule pattern after
correction:
tables. Use of a number of libraries is possible. The
individual grade rule tables can obtain their own
designation. A library is saved in the grade rule
pattern data format (*.SWS).
This section is divided in the topics:
• create a grade rule library
• assign grade rules from the library and
• edit a grade rule library.
A grade rule library can be extracted from existing
patterns or created by entering the values. The
former option is explained, first.
Step-by-step guide
⇒ Prepare a pattern with all gradeable pattern
pieces,
⇒ Enter and activate the break sizes in the size
table,
⇒ Rule Pattern | Extract Grade Rule Pattern
are to be inserted into the library, manually
⇒ extract
⇒ Possibly, set further grade points and extract
⇒ with
⇒ Label the grade rule table with a number
between 1 and 999 in the No. Field. This number
subsequently appears in the library.
⇒ Save grade rule pattern with save => as
template under \Grafis\[measurement system]\
SWERT\ LIBRARY\[library name].SWS
Picture 16-27
266
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
marked with ‚#’ as a number at the point (with
+display), in the comment window and later in the
are listed in alphabetical order. Enter a name for
with save => as template under \Grafis\ [measurement system]\SWERT\LIBRARY\BLAZER.SWS. The
If you require an empty grade rule library in which
grade rules are to be saved, later the following stepby-step guide applies:
Picture 16-28
Generate a Grafis pattern with all corresponding
pattern pieces (see Picture 16-28). Activate the
break sizes in the size table (here: 38, 34, 46) and
Rule Pattern and set the grade points from which
grade rules are to be inserted into the library
be set! Then, click on extract. The grade rule tables
for the grade points were calculated.
opens (Picture 16-29). Double-click on the dialogue
window at the lower edge of the table. Enter a
number between 0 and 999 into the No. field as a
name for the grade rule. This number appears
Entry
Picture 16-29
Step-by-step guide for an empty library
⇒ Activate empty part,
⇒ Enter base size into the size table,
⇒ Rule Pattern | Digitize Grade Rule Pattern
⇒ construct
⇒ p on x&y with x=y=0
⇒ with
⇒ Save grade rule pattern with save => as
template under \Grafis\[measurement system]\
SWERT\ LIBRARY\[library name].SWS
Step-by-step guide
⇒ Select required grade rule library (Picture
16-30),
⇒ click required grade rule once and then, click the
assigned;
Digitize a pattern without grade rules. Edit the
Rule Pattern | Edit Grade Rule Pattern). Open the
introduced in section 16.5 are available. Select the
required grade rule library under drag by clicking this
field and selecting one of the available libraries from
the list below. The selected library is entered into
the field below drag. The list below the field with the
name of the library now contains the grade rules.
Scroll in this list. Click on the first grade rule and
move the cursor to the pattern without pressed
mouse button. For your support an arrow to the
respective nearest grade point appears. Click on the
rule.
267
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Assigning can ensue with
the three copy options
1=>1 where 1=>1 (xy)
is the default.
library as follows.
Selection list
Here, select the required
Step-by-step guide
⇒ Click edit grade rules in
⇒ Select the required
double-click on the
with
activate
edit
and
double-click on a
in the No. field and
save it in the library
with File | Save to
library. Close the
without accepting the
alteration again, as otherwise the grade rule
selected as template is overwritten.
rule in the right menu strip and File | Delete from
Library.
Edit the library according to the step-by-step guide.
The alterations are saved in the library, immediately.
Grouping grade points is a powerful and
sophisticated function. It is explained briefly in this
section using a simple example. It can be used far
more extensively than described, here.
With the function group a grade point can be
grade rule tables discussed so far relate to the
pattern contour in the base size. With group and
assign this relation is released and grading can be
Scroll the list
Picture 16-30
A grade point can be assigned with a number of
to it is marked with a dashed circle.
assigned to it can be associated with another
assign
release
268
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
The options Group neutral or additive
relation to an existing point.
Example
Picture 16-31 shows a front with drillholes for a welt
pocket. The welt has the same dimensions for all
sizes. The nest in Picture 16-31 is stacked at P1. The
grade rule table for P2 is shown in Picture 16-32.
with the following steps and graded in relation to
P1.
Rule Pattern | Edit Grade Rule Pattern
P2 is to be allocated to P1 according
to Picture 16-33.
drillhole
P1
P2
Picture 16-31
of the grade point are calculated so that it continues
to be graded as before without alteration.
table remains unchanged. The target to which the
grade rule refers is changed. This option is originally
not visible as it is rarely required. The option additive
can be made available in the Grafis.ini under
Assign grade point neutral and subsequent Release
grade point neutral restores the original state. The
same applies to the additive option.
P1
P2
Picture 16-33
edit
The grade rule table for P2 after
allocation is shown in Picture 16-34.
The position of P2 does not change in
relation to P1 in all sizes. All grade
rules are zero.
Picture 16-34
Picture 16-32
The option grade point neutral should be used if a
example with pictures 16-31 and 16-36.
Now, the grade rules for drillhole P2 are to be
changed so that the pocket is 5mm narrower in
both sizes 34 and 36 and 10 mm wider from size 44.
In sizes 38 to 42 the grade for the pocket is to
remain unchanged. The grade rule table for P2 is to
be altered according to Picture 16-35.
269
_________________________________________________________________________________________________________________
©Friedrich: Grafis – Textbook, Edition 2012
Picture 16-35
The result after grading and stacking of the pattern
at P1 is shown in Picture 16-36.
P2
P1
Picture 16-36
Now, remove the grade association with
To remove click the point to which
another point was assigned; in this
case click P2.
edit
The grade rule table was calculated for the relation
to the pattern contour (Picture 16-37). The grade of
the pattern corresponds with Picture 16-36.
Picture 16-37
point. If no grade point has been set at drillhole P2
you can obtain the result in Picture 16-36 with the
following steps.
constructive the centre of the drillhole
P2 is to be associated wit P1
according to Picture 16-31.
edit
The grade rules for P2 remain zero
after allocation (Picture 16-34). Alter
the grade rules according to Picture
16-35.
grading For result see Picture 16-36
Chapter 17
Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Content
17.1 The fastest way to a layplan ......................... 272
17.2 Preparations in Grafis Construction............. 272
17.3 Structure of the Grafis Layplan..................... 273
17.4 Create production style ............................... 274
17.5 Edit layplan information................................ 277
17.6 Layplanning................................................... 280
17.7 Functions of Layplanning menu..................... 283
17.8 Additional functions in the Layplan and
17.9 Plot layplan ................................................... 286
______________________
From Version 8 onwards, Grafis also contains the
Grafis Layplan which fulfils industrial requirements.
It is started as a separate application and can be
open at the same time as Grafis Construction.
The Grafis Layplan can be used at different levels in
industry, trade and education. It allows amongst
other:
• layplanning of all production patterns of the
current style,
• combining patterns from different styles within
one layplan, also across different measurement
systems,
• grouping of pieces,
• open and folded layplans,
• transfer of optimised layplans onto new layplans
to be generated,
• creation of fusing group and much more.
Technical parameters such as material type, grain,
number of pieces per style and repeats are
considered as well as planning parameters for buffer
(global, piece-specific, direction-specific), shrinkage
and material faults. Pieces can be rotated and flipped
during layplanning.
Content of this chapter are the basic functions for
creating a layplan from one or more styles. All other
application options follow in Chapter 18.
272
Chapter 17 Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
17.1 The fastest way to a layplan
For industrial application, the layplanning software
offers an abundance of planning and organisational
options which have to be entered before the actual
layplanning process. Not every user, however,
requires all options. Therefore, the steps for
minimum requirement are to be explained, first.
Note:
If you have no suitable style with production
patterns available you can prepare the following:
Open a new style in the measurement system
Optimass (BASIS_D). Call the “Unisex Basic Block“
into parts 001 and 002, respectively. In part 001
delete and points and lines of the back and call the
part front. Part 002 becomes the back by deleting all
points and lines of the front. Now, two parts with
closed perimeter are available. Continue with the
step “Set part parameter“.
Steps in Grafis Construction
⇒ Create the production pieces with closed
perimeter, if necessary set the grain line
⇒ Set part parameter; minimum: Attribute
production piece, material type (e.g. „O upper
fabric“), number of pieces per style (e.g. 1x
normal, 1x mirrored)
⇒ Enter all sizes to be layplanned into the size table
⇒ Save the style
⇒ Start layplan via File | Start Layplanning or via the
“Layplan“ icon on the desktop.
Steps in Grafis Layplan
⇒ Open the prepared style (of Version 8 or higher)
via Production Style | Open. Grafis suggests
converting the style into a production style. This
should be confirmed. Explanations can be found
in section 17.4.
⇒ If necessary, check or edit the part parameter via
Production Style |Part Organisation
⇒ Open the Material index card via Layplan
Information | Material
⇒ Enter the material width, e.g. 1500 (entry in
mm)
⇒ Select material type, e.g. “O upper fabric “
⇒ Button Next>> to index card Parts
⇒ Optional: Select one or more pieces and enter
buffer (buffer column) and allow rotate / flip
(allowance column).
⇒ Button Next>> to index card Sizes
⇒ Click a size and set the amount of this size for
the layplan via Edit Amount. Dragging with
pressed left mouse button allows for selection of
a number of sizes and changing the amount to be
layplanned in one operation.
⇒ Button Layplan opens the user interface for
layplanning the pattern pieces.
⇒ Layplan the pieces according to section 17.6
17.2 Preparations in Grafis Construction
Step-by-step guide
⇒ Create production pieces with closed perimeter
⇒ Set grain line
⇒ Enter part parameter (material type, amount of
pieces per style)
⇒ Enter all sizes to be layed in the size table and
Construct production pieces with closed
perimeter
During pattern development draft patterns are
created from which the actual production patterns
are derived, see Chapter 14. Pieces can only be
layplanned if they have a closed perimeter. The
perimeter corresponds with the cutting line on the
fabric. It can be adjusted to the fabric by entering
shrinkage values and buffer within the layplan.
Production pieces:
Draft patterns:
Picture 17-1
Grafis checks whether the perimeter is closed when
setting the part parameter Production Piece (in the
part organisation menu) and again when transferring
all sizes into the layplan. If Grafis finds gaps
(>0.5mm) in the perimeter or protruding lines, an
error message appears. Gaps can usually be found at
corners, joints of lines or at symbols.
Chapter 17 Layplanning
273
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
notch in the perimeter
; correct
: false
(gap)
Picture 17-2
Line symbols such as notches are ignored during
checking of the perimeter (Picture 17-2). For the
first steps in the layplan, please prepare a simple
style with production pieces, e.g. a skirt as shown in
Picture 17-1.
Set grain line
In the production pieces the Grafis symbol
“grain line“ should be set at least.
If no grain line is set, the negative y axis (direction
downwards) is utilised as the direction of the grain,
however, this can be changed subsequently (see
18.10). Also, an internal line can be declared as the
grain line (see 18.11).
The following symbols and attributes must already
be set in the style if they are required in the layplan:
¾ grain line
¾ annotation line (see 18.11)
¾ split line (see 18.11)
¾ internal line to be cut (see 18.11)
Assign piece parameter
In the part organisation menu the Piece Parameter
window opens if +piece parameter is selected
Picture 17-3
(Picture 17-3). After having finished the production
patterns the piece parameter for the production
pieces should be assigned, already. These are:
⇒ Set piece type to Production piece
⇒ Determine the Material for the production
pieces;
If the required material type is not listed, it has
to be entered in the file \Grafis\MATERIAL.DAT.
This file contains the code for the material type
in the first column. Each code can be assigned
only once. For the code one capital letter or one
number can be used. Use of special characters
or umlaut is not permitted. The material name
follows from the third column onwards.
⇒ Enter the amount of this piece per style;
For right/left-symmetrical pieces (pairs) the
piece is required “1x normal“ and “1x mirrored“. Please note that here, not the total number
of pieces to be placed is to be entered but the
amount for normal and mirrored position per
style.
With the button
the piece parameters of the
selected piece are transferred to the next piece.
This relates to the attribute Production piece, the
material type and the amount per style in normal/
mirrored position.
Optionally, each piece can be assigned a category for
which the buffer at top/ bottom/ left/ right and the
settings for rotate and flip during layplanning are
prepared. Details on work with categories can be
found in section 18.7.
All sizes to be layplanned must be entered in the
size table. One entry per size is sufficient. Grade all
production patterns with Grade all Parts and save the
style.
17.3 Structure of the Grafis Layplan
The Grafis Layplan is started via the icon “Layplan“
or from Grafis Construction via File | Start
Layplanning. Grafis Construction and Grafis Layplan
can be open at the same time.
Data structure of the Grafis Layplan
The data of a layplan is divided into production style,
layplan information and layplan. In this order, the
information for the layplan is assembled. The
overview in Picture 17-4 indicates the structure.
The intermediate steps (production style, layplan
information and empty layplan) can be saved,
separately.
Production Style
... is the assembly of pattern pieces from different
styles and different measurement systems to be
layed in a layplan. It contains
• all required pieces as perimeter in all required
sizes,
• the part parameter for the pattern pieces,
• match relations if required and
• a connection to the source of the respective
pieces.
As opposed to the styles in the Grafis Construction,
the construction record with x value lists and the
interdependence of the parts no longer exists.
274
Chapter 17 Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Construction Style with
• construction record
• part interdependencies
• x value lists
• part parameter (e.g. code production pattern / draft pattern)
Production Style
• pieces from different styles
• piece perimeter in different sizes
• part parameter
• match relations
• path to the source style
without: construction record, part
interdependencies, x value lists
Structure of Grafis Layplan
First, a production style is created from one or more
styles. Then, the layplan information for material,
pieces and sizes is to be entered. Layplanning can then,
ensue.
Layplan Information
Layplan
• material data (material width,
repeat, shrinkage...)
• layplanning options for each
piece (buffer, allowance for
rotation/ flip)
• size list (bundles)
layplanning data for each
piece (position on the
material, rotation angle,
active flip,...)
Picture 17-4
Layplan information
... are the data of the production style and
• all information about the material (width, repeat,
shrinkage, ...)
• laying options for each piece (buffer, allowance
for rotation/ flip),
• sizes to be placed (bundle) and the name of the
layplan.
Layplan
... contains the data of the layplan information with
the data of the production style and additionally
• the laying data for each piece (current position in
the layplan, rotated, flipped,...)
The data of every placed layplan are saved as layplan
files with the extension *.scb.
Prepare layplan
Step-by-step guide
⇒ Prepare the style according to section 17.2 and
start Grafis Layplan
⇒ Load or assemble the production style
⇒ Assign layplan information
⇒ Lay the layplan
For each of the highlighted steps, there is a pulldown menu with all relevant functions.
Assign layplan information:
Lay layplan:
To create a layplan these steps are to be processed
one after another. The individual steps are explained
in sections 17.4 to 17.7.
17.4 Create production style
If only pieces of one style are to be placed, the
following steps are sufficient:
Step-by-step guide
⇒ Pull down menu Production Style |Open Style.
Open a prepared style. Grafis suggests
automatically converting the style into a
production style. This should be confirmed.
Thus, all production pieces are transferred and
the alteration service is activated for each piece.
Refuse this conversion only if not all required
patterns have been declared as production
pieces. In this case, all parts including empty
parts and development parts will be transferred.
However, this means that any alteration to the
source style leads to updating of all pieces in the
layplan.
Chapter 17 Layplanning
275
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
⇒ If necessary, check or edit part parameter via
Production Style | Part Organisation, set switch to
+part parameter and check the material type and
the required amount for each part.
The production style is now prepared. You can
continue immediately with the layplan information.
NB: The alteration service (section 18.1) can
work only if the source style and the complete
path to the source style (drive, collection, subcollection) have not been renamed, moved or
deleted.
Assemble production style
Step-by-step guide
⇒ Open part organisation via Production Style |
New style
⇒ Click Insert connection part
⇒ Select a style from any measurement system
⇒ The dialogue Grafis- Part Connection appears
⇒ Select the sizes required for the production style
or click on all sizes. The order of the sizes
remains intact in the layplan when creating the
bundles.
⇒ Click the button Create connection for all pieces
required in the production style or click on all
parts
⇒ Select the next style with the button <<Back or
close the Grafis- Part Connection dialogue with
the button Close
⇒ Set the switch to +part parameter and check the
material type and the required amount per style
for each piece
⇒ End with right mouse button
When assembling production styles from styles of
different measurement systems, ensure identical size
names. If the size names are not identical, individual
measurement charts with identical names may have
to be created. Ensure correct settings for the alias in
the size table.
The production style is assembled with the function
or the part organisation menu which are largely
identical with the ones in the Grafis Construction.
All changes apply to the new production style, only.
The source style remains unchanged.
Start the Grafis Layplan and select Production Style |
New Style. Assemble the new production style by
clicking on Insert Connection and selecting the
required style.
Select style
In the dialogue Open Style for Insert select the drive
on which the required style is saved under Look in:.
In the window below, all measurement systems
appear, indicated as folders with the icon
.
Double-click changes to the required measurement
system. All available collections of the selected
measurement system appear, also indicated by the
. Double-click on the required collection
icon
opens the list of all available styles of the collection.
Styles are indicated by the icon
.
, the style is currently being
appears at the icon
processed and is therefore, write-protected. Parts
from a write-protected style are transferred in the
state of the last save. Move up one level of folder/
collection with the button
. Table 17-1 contains
an overview of the icons used in Grafis and their
significance.
Icon
Significance
folder (measurement system), collection
style (Grafis Construction)
write-protected style
production style
layplan
layplan information
Table 17-1
The content of the window can be arranged with
the buttons according to Table 17-2.
Button Significance
List without details
List with details
Show / hide text preview
Show / hide preview of the first piece
Table 17-2
Create connection
After having selected the required style, the window
Part Connection appears (Picture 17-5).
Step-by-step guide
⇒ Select all sizes to be transferred to the
production style
⇒ Transfer pieces with: select piece and click
button Create connection or double-click on the
piece
⇒ Button Back to select another style
⇒ End with button Close
276
Chapter 17 Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Picture 17-5
Select sizes
All sizes positioned to the left of the arrow “<=“ in
the section Sizes of the style will be available in the
layplan. Double-click on the respective line transfers
the size to the left or excludes it again. Selecting a
number of sizes in one operation is also possible
with pressed left mouse button. The bundles will be
created in the order of the sizes to the left of the
“<=“.
Transfer pieces
The check mark Display production patterns only can
be set if all pieces to be layed have been assigned
with the Production pattern attribute. If the check
mark is set, all draft patterns are hidden. After
having clicked a piece its perimeter appears in the
Preview area and the content of the text box - if
applicable - appears under Part description. Clicking
the button Create connection or double-click on the
piece transfers the piece. The following piece is
selected, automatically. A different insert position in
the production style can be selected with the
.
buttons
After having transferred all required pieces, another
style can be selected with the <<Back button or
the assembly of the production style can be ended
with Close.
Edit production style
The current list of parts can be opened via
Production style | Part Organisation. In the part
parameter window which appears with +part
parameter the date of the last edit of the piece, the
name and the path of the source style are now
shown for each piece. This information is used to
ensure that any alteration of the source style will
automatically be updated in the layplan. Further
information on updating pieces can be found in
section 18.1.
If necessary, check that
• no pieces have been transferred, twice by
accident,
• the material type of the piece is correct,
• the required amount per style is correct and
• if applicable, the part category is correct.
Corrections can be made immediately with the
known function from the part organisation, see
Chapter 14. Adding further pieces is started by
clicking insert connection part. The part organisation
is closed with the right mouse button.
In the style view, the function keys <F2>, <F3>,
<F4> and <F6> are assigned as in the Grafis
Construction. Pressing <F5> arranges all
transferred pieces in all transferred sizes. The
functions Copy, Measure, Stack and Move/Zoom are
also active (pull-down menu Edit or toolbox).
Chapter 17 Layplanning
277
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Save production style
The production style can be saved at this stage via
Production Style | Save Style As... Finished styles
should be sent to the customer or the production
unit in the form of production styles. Alteration
through application of other body measurements or
x values are no longer possible.
For saving of production styles no fixed directory
structure is given as the production styles are no
longer attached to a measurement system. As the
target, we recommend the folder \Grafis\SB\ and its
subfolders. With the button
folder/directory can be created.
New Folder a new
17.5 Edit layplan information
Step-by-step guide
⇒ Create or open a production style
⇒ Pull down menu Layplan Information | New
Now, three file cards are to be filled in.
⇒ Fill in file card Material (enter material width
and material type minimum)
⇒ Fill in file card Pieces
⇒ Fill in file card Sizes
⇒ Save empty layplan or lay the pieces in the layplan
After preparation of the production style and before
laying the pieces in the layplan, all information about
the layplan must be entered into the file cards
Material, Pieces and Sizes. As a rule, each of these file
cards are indicated by one icon in the toolbox.
File card Material
On this file card, enter at least the material width
and the material type. All other fields can be edited
if required. Some of the other options are explained
in the following. Further information about preselection of material, repeat, shrinkage values
Chapter 18.
Buffer (global)
The global buffer applies to all pieces in the layplan.
Grafis calculates a new perimeter for each piece
with half of the buffer distance. Thus, the set safety
margin between two pieces is ensured. If pieces are
to be touching in the layplan, the global buffer must
be 0. A piece-specific buffer can then be entered on
the next file card.
Picture 17-6
278
Chapter 17 Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Maximum material length
In this field, the maximum length for the layplan in
metres or a minimum efficiency in % is entered. A
default setting for the maximum length is entered in
the Grafis.INI file and can be altered at any time.
When entering a minimum efficiency in %, the
maximum material length is calculated, automatically
from the area of all pieces and the width of the
material.
Anchor lines
Anchor lines are laying aids which function like a
border. Pattern pieces can be attached from left/
right or up/ down. Placing a piece on top of an
anchor line is only permitted if the check mark use
as auxiliary line only is set. Anchor lines can also be
plotted.
With every…mm the distance between vertical or
horizontal anchor lines can be randomly selected.
For vertical anchor lines, the distance between the
lines can correspond with the page size of the active
plotter. This setting is useful for single sheet plotter
where the pattern pieces are not to protrude over
the edge of the page.
Button Next
Clicking the Next>> button opens the Pieces file
card.
File card Pieces
On the Pieces file card, settings regarding additional
direction-specific buffer, flip and rotate allowance
and special settings for shrinkage value can be
entered for each piece.
In the part list (left on the file card) the following is
stated next to the piece name:
Column
Piece
Amount
Buffer
Content
Piece name
Amount of the piece per style; first
number indicates normal and second
number flipped position
The character „x“ indicates that a
piece and direction-specific buffer has
been entered for this piece.
Small „x“ original perimeter is cutting
line; capital „X“ buffer line becomes
cutting line;
character „-“ the piece will be
reduced.
Picture 17-7
Chapter 17 Layplanning
279
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Category
Material
Display of category number and name
assigned to this piece.
Code for the material type
If only pieces of the selected material type are to be
displayed, check Show pieces for selected material
only. Thus, only pieces which will be layed out can
be seen. The material type is selected on the
previous file card Material.
The values in the entry fields Fixed settings,
Allowance, Buffer and Shrinkage values for the piece
apply to the selected piece(s), respectively. To
select a number of pieces at the same time, press
the <Ctrl> or the <Shift> key when clicking on
the pieces.
Fixed settings
For each piece the following can be set:
• fixed rotation angle
The piece is rotated through this angle before
entering in the layplan.
• flip about x or y
The piece is flipped before layplanning.
Allowance
Additionally, the following rotate/ flip allowances can
be set:
• tolerance angle
The piece may be rotated freehand about a
maximum of this angle in the layplan.
• flip about x (grain line)
• rotate through 180°
• rotate through +/-90°
• rotate through +/-45°
The piece may be rotated/ flipped according to
these settings.
Buffer
The piece and direction-specific buffers are added to
the global buffer from the previous file card
Material. The settings apply to the selected piece(s).
A buffer can be entered into the fields top, bottom,
left and right in mm or in %. When using
percentage, only the character “%“ is to be
entered. Move between entry fields with the
<Tab> key. All settings relate to the first piece in
the first bundle in unflipped position.
The check mark at cut buffer line results in the
piece being increased by the global and piecespecific buffer and cut at the buffer line. Complex
pieces or pieces which the cutter may not be able to
cut, accurately can be cut roughly and can then be
cut, accurately by hand.
If the check mark at cut buffer line is not set, the
buffer is an invisible distance between the pieces.
A check mark at reduce piece results in the piece
being reduced by the global and piece-specific buffer
and cut reduced. Interlining can be reduced by 2mm
all around for example, to prevent the fusing press
from being soiled with glue.
In the part list (left on the file card) the current
settings are indicated as follows:
Character Significance
x
 cut buffer line
(original perimeter is cut line)
X
; cut buffer line
(buffer line is cut line)
; reduce piece
(piece is cut reduced)
Picture 17-8
280
Chapter 17 Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
All further options are explored in Chapter 18.
These are
¾ shrinkage values for the piece
¾ pre-set buffer
¾ pre-set (all)
¾ replace style / add style
File card Sizes
The file card Sizes determines which sizes are
placed and how often. This information is displayed
in the size list (Picture 17-8, left window). From this
data, the bundles are created, automatically in the
right window. Only the sizes set up in the
production style can be placed. Adding unlisted sizes
is only possible through reprocessing the production
style. To edit the amount of the size, select one or
more sizes in the window on the left. Pressing a
number on the keyboard or the arrow keys next to
the dialogue Alter amount changes the amount of
the selected size(s). A number of sizes can be
selected with the <Shift> and <Ctrl> keys,
analogous to the handling in the part list.
In the field Article/ Layplan code a short
description of the layplan can be entered which can
be plotted at the material edge.
18.
Save empty layplan
As soon as all settings for the Layplan Information are
dealt with, this intermediate stage can be saved as
an “empty layplan“. Often, a number of layplans are
required for the same style due to layplan
optimisation. The first layplan contains sizes 36 and
42, the second layplan sizes 38 and 40 and so on.
After having saved the “empty layplan“ for the sizes
36 and 42, the sizes 38 and 40 have to be entered,
only in the required amount on the Sizes file card.
Then, the layplan for sizes 38 and 40 is prepared,
also.
Later, the first layplan is opened with Layplan | Open
Layplan…. If consecutive names have been given
when saving the layplans, the next layplan can be
loaded, immediately with Layplan | Open Next
Layplan.
Option Maintain bundle position
If the size list for an already placed layplan is altered,
the option Maintain bundle position appears. It
controls the transfer of placement positions of
If this option is active, the bundles remain at their
original position. During alteration of the size run,
already placed pieces may overlap. The basic
structure of the layplan is retained. Use this option if
the basic structure of the layplan must not be
altered but various sizes will be changed.
If this option is inactive, the sizes remain at their
original position. Use this option if single sizes are to
be changed with the other sizes remaining at their
original positions, even if the bundle number is
changed.
Example for the layplan scheme all bundles same
direction (one way):
before
after
1st bundle
38
40
2nd bundle
40
42
If the option Maintain bundle position is active, size
40 will be placed where size 38 had been and size
42 is placed in size 40’s position. If the option is not
active, size 40 remains in its position and size 42 is
unplaced in the rack.
Layplanning opens the layplan interface,
immediately.
Edit the layplan information
Via the pull-down-menu Layplan Information the file
cards Material, Pieces and Sizes can be opened,
directly. Alterations to the file cards are possible at
any time. They are automatically applied to the
layplan. If overlapping or gaps occur, the layplan
must be reprocessed.
17.6 Layplanning
Step-by-step guide
⇒ Create or open the
production style
⇒ Enter the layplan
information
⇒ Layplan| Layplanning
First,
prepare
the
production style and
enter
the
layplan
information. From the last file card Sizes the button
Layplanning leads to the layplan. If this file card is
already closed, the layplan is opened via Layplan |
Layplanning.
Layplan user interface
The layplan user interface (Picture 17-9) is divided
into four areas:
• the rack,
• the pre-lay area,
• the material and
• the status line.
The rack is situated at the top of the screen. It
contains all pieces to be placed in all sizes or
bundles. The order of the pieces corresponds with
the order in the part list of the production style. The
number of pieces in normal and flipped position and
the bundle name result from the settings on the file
cards in the layplan information. If necessary, a scroll
bar appears for scrolling to the left / right.
Below the boxes of the rack, the sizes to be placed
and a capital letter for the bundle appear in the first
column. The numbers in the following columns
represent the amount of pieces in normal position
(left) and in flipped position (right). A clicked
Chapter 17 Layplanning
281
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Rack
Pre-lay area
actual end of layplan
Material
Display in the status
line:
− layplan length
− efficiency
− material usage
− material width
− pieces placed / total
Picture 17-9
number is highlighted in white and the respective
piece of the relevant bundle in the respective
position hangs on the cursor.
The material is situated at the base of the screen.
The width of the material was determined on the
Material file card. At the end of the material (right) a
marking for the efficiency in percent can be found.
The pre-lay area is the area between the rack and
the material. It serves as a temporary store and can
be increased in size by folding the rack. Click the
at the upper right end of the rack.
button
Clicking
unfolds the rack.
The status line with information about the layplan is
situated at the lower edge of the screen. The
individual fields show (from left to right):
• part number and name of the piece on or below
the cursor
• size and a capital letter for the bundle
• current length of the layplan in m
• current efficiency in %
• usage per bundle (average) in m
• material width in m
• placed pieces / total number of pieces to be
placed
• placed production style
Call and place pieces from the rack
A piece is called from the rack by clicking the
respective number below the box with the left
mouse button. The piece hangs on the cursor and
can be dropped in the pre-lay area or on the
material with another short click of the left mouse
button.
Only pattern pieces on the material placed
without overlapping are displayed with colour fill.
A piece hanging on the cursor will cease to follow
the cursor as soon as it touches another piece on
the material, the selvedge or an anchor line. At the
same time, a red thread appears between the piece
and the cursor. If the thread exceeds a certain
length, the piece will follow the cursor, even across
the edge of the material or already placed pieces.
The length of this so-called search area can be
altered via View | Layplan options.
282
Chapter 17 Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
To reposition already placed pattern pieces move
the free cursor (without pieces attached) over the
pattern pieces. In the status line at the lower edge of
the screen, the piece number and name, the size
and the bundle appear. The size and the bundle
name are also stated directly at the piece if this
option is activated under Layplan | Options.
Clicking on a piece with the left mouse button picks
up the piece.
All pieces of one size appear in one of seven colours.
Three different shades of a colour differentiate
between the bundles of one size.
A number of pieces can be called from the rack at
the same time by moving the cursor over the
numbers of the required pieces with the right
mouse button pressed. The right mouse button
must be released when still in the area of the rack.
Thus, all selected pieces hang on the cursor. With
the left mouse button the pieces are dropped in the
pre-lay area or on the material, slightly removed.
Sliding the stack is also possible.
Sliding pieces
Click the piece for sliding so that it hangs on the
cursor. Drag the piece with the left mouse button
pressed. A red thread appears, indicating the
direction of the slide (Picture 17-10).
Picture 17-10
As soon as the mouse button is released, the piece
slides against already placed pieces or into the
nearest gap (Picture 17-11).
The piece does not have to be picked up, first. The
mouse button may remain pressed, immediately.
Moving the mouse pulls the red thread. Releasing
the mouse slides the piece onto already placed
pieces.
Move a number of pieces
Click on a number of pieces with the <Ctrl> key
pressed down, let go of the <Ctrl> key, click
quickly on one of the selected pieces and move
them.
Free anchor lines
In the area of the lower or left material edge the
or
appear at the cursor.
symbols
Having clicked and dragged, a free moving anchor
line appears which can be positioned as required.
The line can be placed exactly at full cm values with
pressed <Shift> key. Already placed pieces in the
area of the line are switched to ‘unplaced‘.
The free anchor lines behave in the same way as
anchor lines with regular distance, see section 17.5.
Depending on the setting of the switch use as
auxiliary lines only, the lines are simple docking lines
or magnetic lines.
To delete an anchor line, drag it to the edge. The
or
appears at the cursor. After
symbol
releasing the mouse button the anchor line is
removed.
Zoom / refresh
<F6> toggles between
¾ zoom to optimum layplan length and
¾ zoom to optimum layplan width.
At the same time, the pieces in the pre-lay area are
rearranged according to bundles and the screen is
refreshed. <F6> only changes the view if you have
zoomed into a detail or if the layplan is not
completely visible at full layplan width.
With <F4> or moving the layplan to the left/ right,
the screen is refreshed.
To reduce/ increase the size of the layplan, the
already known function move/zoom is available. It
can be called from the toolbox or from the pulldown menu Edit. Maximum scale is 1:1.
Undo or redo laying operations
While the layplan user interface has not been closed,
any number of laying operations can be reset via Edit
| Undo (keyboard <Ctrl> + <Z>). Reset laying
operations can be reprocessed with Edit | Redo
(keyboard <Ctrl> + <Y>) as long as no new
operation has been performed.
Picture 17-11
Chapter 17 Layplanning
283
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Overview of all functions in the menu strip
Function
properties
properties
rotate through 180°
rotate through +90°
rotate through +45°
rotate through +1°
rotate through –90°
rotate through –45°
rotate through –1°
nil piece
all unplace
place automatically…
single pieces
active unplaced pieces
unplace pieces
return…
single pieces
bundles
pieces
buffer on/off
+/-magnet
group
fuse
ungroup
split piece
place piece in piece
place piece with overlap
Constant functions
Almost all functions of the menu strip are constant
in the lower left area of
functions indicated by
the button. For these functions the following rule
applies:
If a constant function is active and the mouse
hovers over a piece, a symbol at the cursor
indicates which function is active. If the selected
function may not be applied to the piece (e.g.
appears at
rotation not permitted), the icon
the piece. The active function is triggered with
the right mouse button.
Example: The function flip about x axis is active. The
appears at the cursor. After having clicked
icon
a piece with the right mouse button, it is flipped
about the x axis (if permitted for this piece).
Icon
Flip:
Description
Edit the piece properties
on the Pieces file card
line)
Rotate through….
180°
+90°
1/2 turn
1/4 turn to the left
-90°
1/4 turn to the right
+45°/+1°
-45° /-1°
buffer+/-
45°/1° turn to the left
45°/1° turn to the right
Switch buffer (global +
piece-specific) on / off
Activate magnet function
Reset flip and rotation;
piece appears unplaced
(no colour fill)
All pieces are immediately
marked as unplaced.
+/-magnet
nil piece
all unplaced
none
Automatic lay:
single
unplaced
active
none
unplaced
none
Return:
single
The clicked piece is
placed, automatically.
All unplaced active pieces
are immediately placed,
automatically.
All unplaced pieces, also
from the rack, are
immediately placed,
automatically.
fuse
Return single piece to the
rack
Return all pieces of the
bundle to the rack
Return all pieces with the
same part number to the
rack
Group the hatched
pieces.
Fuse the hatched pieces.
ungroup
Ungroup
split piece
Split piece with seam
allowance.
place piece inside another
piece
place piece with overlap
bundle
pieces
group
piece in piece
overlap
Almost all functions can also be activated via the
keyboard, see Picture 17-12.
284
Chapter 17 Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Flip / Rotate
If the icon
for “function not permitted“ appears
at the cursor for one of the flip/rotate functions, it
indicates that flip/rotate is not permitted for this
piece. To permit flip/rotate
• select properties from the right menu,
• click the piece with the right mouse button,
• check allowance for flip/rotate on the open
Pieces file card,
• reactivate the function for flip/rotate and
• click the piece to be flipped/ rotated with the
right mouse button.
The following functions can also be activated via the
keyboard:
Automatic layplanning
The automatic layplanning function is not layplan
optimisation. The piece or the group is placed in the
first permitted position in the layplan (from the left).
An optimisation considering perimeter or efficiency
does not ensue!
Automatic layplanning with the function single is
useful for placing lots of small pieces into gaps. The
piece clicked with the right mouse button is placed
as far to the left as possible.
This also applies to the functions unplaced active (for
unplaced pieces in the pre-lay area and on the
material) and unplaced (all unplaced pieces). Further
options for automatic layplanning can be found in
Nil piece
All flip and rotate operations are reset. The piece
appears in the original orientation and is unplaced
(no colour fill). The fixed settings remain intact.
Group / fuse pieces
Only pieces placed on the material without
overlapping (with colour fill) can be grouped. To
create a group, click the pieces once with the left
mouse button while keeping the <Ctrl> key
pressed. The pieces will be hatched. Then, activate
the function group and click one of the hatched
pieces with the right mouse button. The group can
then be moved as one piece. The functions from the
menu can also be applied to the group.
Only the allowances flip/rotate given to all pieces in
the group apply. If one piece may be rotated
through up to 15° and another up to 10°, the group
consisting of these two pieces may be rotated
through a maximum of 10°. The buffer apply to each
piece of a group, individually even after grouping.
Layplanning with magnet function
The magnet function +/-magnet is used for aligning
pieces. The surrounding rectangle of the selected
piece(s) serves as the magnet. First, activate the
magnet function in the menu. Then, select the
piece(s) to which other pieces are to be aligned with
pressed down <Ctrl> key. Now, let go of the
<Ctrl> key, pick up another piece and move it to
the selected piece(s). The magnetic lines appear as
an echo in the vicinity of the selected piece(s). The
piece catches at the magnetic lines.
1
2
Q
W
A
<
3
0
E
S
R
+1°
D
X
single
T
U
bundle
G
H
←
V
pieces
OLayplan
all
unplaced
↑
F
-1°
C
Z
upwards
P
place
unpl.active
+
place
unplaced
J
↓
→
N
unplaced
M
all
Space bar
Trigger the active function, as with the right mouse button
Picture 17-12
Chapter 17 Layplanning
285
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
To ungroup pieces, activate the function ungroup.
Clicking the group with the right mouse button
dissolves the group. To release individual pieces
from a group, the group must first be dissolved and
then grouped again.
To create a fusing group, all relevant pieces are to
be clicked with pressed <Ctrl> key, also. Then,
activate the function fuse and click one of the pieces
of the group with the right mouse button.
A window with the following options for the fusing
group appears (Picture 17-13):
• method
for
creating
contour
(rectangle
or
silhouette),
or % around
the fusing group
the buffer of
the
fused
pieces,
• maximum size
of the fusing
group,
depending on
the size of the
Picture 17-13
fusing press and
• a name for the
fusing group.
The fusing group is
saved under the
entered name as a
new piece in the
production style.
When laying the
interlining layplan,
the shape of the
fusing group can be
transferred from
the main fabric
layplan with this
piece.
Split piece
Pieces can still be
split or duplicated
in any number in
the
Layplanning
mode.
Picture 17-14
To split or duplicate a piece, the function split piece
from the right menu must be activated first. Then,
the piece is to be clicked with the right mouse
button. A window with the following entry options
appears (Picture 17-14):
To duplicate, enter the required amount in the field
times and click on the button Duplicate.
To split a piece first, you have to select where the
piece is to be split. A piece can be split
• at a distance of xx millimetres from the top/
bottom/ left/ right,
• vertical/ horizontal in the middle or
• at the split line.
Then, the seam allowance to be added to both
edges is to be entered. Clicking the button Split
splits the piece.
Place piece inside piece
When activating the function place piece inside
piece, the symbol
piece in piece or the symbol
normal appear at the cursor during layplanning.
The symbol indicates the set parameters for the
piece. With the parameter normal, the piece is
placed normally, without overlapping with other
pieces. With the parameter piece in piece, the
piece can only be placed fully inside another already
placed piece.
This layplanning option is useful for multi-layer
cutting if for example a piece is required only once.
Thus, a different smaller piece can be cut from a
different layer in the same position. Pieces placed
with piece in piece count as ‘placed‘ pieces. They
are filled with a background pattern on the material.
Place with overlap
Pieces can be placed with a small overlap. First, the
‘normal‘ pieces are placed. Then, the piece to be
overlapped is placed with pressed <Shift> key.
Originally the piece is shown without fill colour.
Activate the function place overlapped and click the
piece with the right mouse button. The piece now
counts as placed and is displayed with fill colour. The
overlap area is marked in colour on the material.
The area content of the overlap is limited to 50cm².
Therefore, it is not possible to create large overlaps.
End
With End or with the right mouse button in the
menu area, the layplanning function is quit after a
security question. The layplan user interface can be
reopened at the last stage of work via Layplan |
Layplanning.
286
Chapter 17 Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Some of the functions from the pull-down
menu Layplan are only available when the
layplan is open or closed.
Open Layplan to open a previously saved
layplan.
Open Next Layplan to open the next
layplan. Layplans are alphabetically
ordered and the layplan following the
active layplan will be opened.
Save Layplan saves the layplan,
immediately under the name given.
Save Layplan As... save the layplan in a
directory to be selected and under a name
to be entered.
Remove superfluous data should be used
when a layplan has been layed and Always remove
superfluous data during saving has been switched off.
The perimeters of the unplaced pieces and unplaced
sizes are removed from the layplan. The layplan file
becomes smaller. Always remove superfluous data
during saving can be switched on via Edit | Settings.
The two remaining options Save layplan with preview
and More columns in detail view should be set only if
not working within a network. Otherwise, the
window for the Open Layplan dialogue would build
very slowly. The option Save layplan with preview
also requires sufficient memory.
Layplanning opens the layplan user interface.
Replace layout transfers the layout of a previously
saved layplan to be selected with identical amount of
pieces and bundles. A preview and/or a detail
information about the layplan appears via the
buttons (list, details, preview).
Delete layout data resets all layout data. Only the
layplan information settings on the file cards remain
existent.
Automatic layplanning (as described two pages
previously)
¾ all pieces
¾ all active pieces from the pre-lay area or the
material
¾ all pieces on the material
¾ all unplaced pieces*
¾ all unplaced, active pieces*
*These functions can also be found in the right
menu in the layplan user interface.
Picture 17-15
Return (as described two pages previously)
¾ all pieces
¾ all unplaced pieces.
View | Layplan options offer a window (Picture
17-15) with various display options in the layplan and
settings for handling during layplanning. The Search
area for layout relates to the length of the red thread
during layplanning.
17.9 Plot layplan
Output of a layplan is started via File | Plot/Print...
The plot dialogue according to Picture 17-16 opens.
In the section output to, select the plotter/ printer
for output. With the button Settings further settings
are offered.
If Plot with frame is selected, the frame of the plot
image is plotted. The frame is required, only when
plotting onto a number of pages which are to be
joined, subsequently frame by frame; or for output
in full scale to small scale printers/ plotters.
If Stop before output is selected, the prepared plot
image is displayed. Output can still be aborted at this
stage.
A margin can be added to the left edge. This is
useful if a safety margin is required between the end
of one plot and the beginning of the next for output
to a number of pages, e.g. for output on a roll if the
plot is not cut off at the end.
Chapter 17 Layplanning
287
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
annotation Layplan all contains all codes which
are replaced with the respective text,
automatically during plot:
Date:
{Sdt}
Time:
{Szt}
Efficiency:
{Sef}%
Usage per bundle:
{Svb}m
Length:
{Sln}m {Slc}cm {Slm}mm
Layplan width: {Sbc}cm {Sbm}mm {Sbr}m
No. of bundles:
{Sbz}
Size list:
{Sgl...............}
Production style:
{Smd}
Layplan (File name):
{Ssb}
Article /layplan code:
{Sar}
Material code:
{Smk}
Material:
{Smt}
Perimeter lengths:
{Sum} m
Shrinkage:
{Sdx} {Sdy}
Number of pieces:
{Snt}
Number of placed pieces: {Sng}
Text for area weights, see section 18.15 and
Layplan | Characteristics:
Absolute weight:
{Stw} kg
Effective weight:
{Sew} kg
Waste weight:
{Sww} kg
Absolute weight per bundle: {Sbw} kg
Effective weight per bundle: {Seb} kg
The marker annotation is saved as a *.stx file in
the directory \Grafis\TEXTE.
Piece Annotation determines whether and
how each piece is annotated with a standard
text. The content of the piece annotation can
be edited via the button Edit
. The button
creates a new file. The piece annotation
Pieces
all contains all codes which are replaced
Picture 17-16
with the relevant content, automatically:
In the section Plot information the following can be
Date:
{Sdt}
set:
Time:
{Szt}
The entry fields Scale factor and corresponds to 1:
Piece text:
{Stl}
are aligned. If the layplan is to be plotted in original
Piece text area:
{Stb0106}
size, the Scale factor must be set to 1 or
Size:
{Sgr}
corresponds to 1: must be set to 1. For reduced
Bundle as letter:
{Sbd}
output in scale 1:2 the Scale factor must be set to
Bundle as number:
{Sbn}
0.5 or corresponds to 1: must be set to 2.
Source style:
{Sqm}
Source collection:
{Sqk}
If adapt to page size is set the scale and page
Material
code:
{Smk}
orientation are optimised by Grafis, automatically.
Material:
{Smt}
The digit for first bundle determines the number
Amount
per
style
(normal+
flipped): {Snz}
for the first bundle in this layplan.
Piece category:
{Skt}
Marker Annotation determines if the layplan is
Perimeter lengths:
{Sum} m
annotated and how. The position of the marker
The piece annotation is saved as a *.ttx file in the
annotation, start or end, orientation and whether
directory \Grafis\TEXTE.
the annotation is to be plotted inside or outside the
such as
layplan can be selected. With the button Edit
¾ the grain line,
the content of the marker annotation can be edited.
¾ other text,
creates a new file. The marker
The button
¾ repeat lines,
288
Chapter 17 Layplanning
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
¾ marking lines,
¾ auxiliary lines,
¾ the layplan edge or
¾ anchor lines
is to be included in the output.
Plot starts the actual output.
The output of cutter data is started via File |
Generate cutter data see section 18.16.
Chapter 18
Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Content
18.1 Alterations to the production style .............. 290
18.2 Organise styles ............................................. 291
18.3 Repeat .......................................................... 292
18.4 Shrinkage...................................................... 296
18.6 Fault areas .................................................... 298
18.7 Categories .................................................... 298
18.8 Step lay (free mode)..................................... 300
18.9 Layplan sequence ......................................... 301
18.10 Hem position.............................................. 301
18.11 Line types ................................................... 301
18.12 Material catalogue/ material pre-selection . 302
18.13 Overlap areas ............................................. 302
18.14 Exchangeable pieces................................... 303
18.16 Cutter output ............................................. 305
18.17 Autonester ................................................. 306
Not every user will require all the options available
for application in the layplan. The special application
options are summed up in this chapter. The
optimum way of working is often found, only in a
direct dialogue between the expert in the company
or the user and a Grafis expert, as company-specific
requirements can often be fulfilled with a number of
functions and procedures. The aim is to find the
fastest and safest method of working.
290
Chapter 18 Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
18.1 Alterations to the production style
Layplan - Alteration service for production
styles
When opening a layplan which has been created
from a production style without connection parts,
i.e. created directly from a style of the Grafis
Construction, Grafis checks whether the original
style has been altered and offers updating of the
style, if necessary.
Layplan - Alteration service for production
styles of connection parts
When opening a layplan which has been created
from a production style of connection parts, Grafis
checks for each connection part whether the source
style is still available and the piece in the source style
is unchanged. If this is not the case, the user is
informed and asked whether the altered pieces are
to be updated, if necessary.
Alteration service for connection parts
Connection parts are parts inserted into the style in
the part organisation menu via insert connection part.
They are marked with the character “>“ in the part
list (Production Style | Part List) (Picture 18-1).
Picture 18-1
The part parameter of the selected piece appear
with +part parameter. For each connection part,
date/ time of last edit and the source style and path
are saved (Picture 18-2).
opening the part organisation, Grafis checks for each
connection part whether the source style is still
available and whether the source part is unchanged.
If a question mark “?“ appears in addition to the
connection part mark “>“, it indicates that the
source style or the source part are no longer
available. The exclamation mark “!“ indicates that
the source part has been altered. A layplan can
and sizes, irrespective of this. This also applies if the
construction style is no longer available.
A new connection can be set by clicking the button
on the right of the path to the source style in
the part parameter window. Select the new source
style and the new connection part.
Update single part/ all parts (for connection
parts, only)
To update single connection parts, open the Part
Organisation from the pull-down menu Production
Style, select the respective part and click on
connection: update. Depending on the setting of the
+/-part information switch, the part parameters are
also updated. The text box is always updated. The
function connection: update should be applied,
especially if only individual pieces of the part
organisation are marked with “!“ or if some parts
are to remain in their unchanged state.
Updating all connection parts of the production style
is started from the pull-down menu Production Style
with Update All Parts or Update All Parts (with part
information).
After having updated the pieces, the already placed
layplan remains existent. If overlapping or gaps
occur, the layplan must be reprocessed.
NB: The alteration service can work only if the
source style and the complete path to the source
style (drive, collection, sub-collection) have not
been renamed, moved or deleted.
Picture 18-2
Before adding one or more sizes, check in the Grafis
Construction that the parts have been graded in the
respective sizes in the source style. If not, grade all
parts in all sizes of the layplan and re-save the
construction style under the same name. In the
Grafis Layplan, click on Size Table in the pull-down
However, the size table can only be altered without
restriction if no layplan information has been
entered and no layplan is available. The perimeters
of the added sizes are only transferred after having
updated the pieces with Production Style | Update All
Parts.
Chapter 18 Layplanning II
291
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Individual pieces can be added in Production Style |
Part Organisation as follows: First, a new empty part
is created with open or insert. The piece is inserted
with insert connection part, provided all required
sizes are available.
Replace style
Production Style | Replace
Style
replaces
the
complete production style
with a new production
style to be selected. The
part parameter and the
content of the text box
are replaced, also. The
layplan information and
the layout data of the
layplan remain intact.
Prerequisite for replacing
a style is that all required
sizes are available and the
assignment of the pieces
is identical.
With Production Style |
Add Style the part list is
extended by the parts of a
complete style. All parts
of the selected style are
added to the end of the
part list. Prerequisite for
adding a style is that all required sizes are available in
the size list of the style. Alternatively to Add style
you can use the options of Production style |
Organise styles, see section 18.2.
18.2 Organise styles
A layplan order can be compiled from different
production styles with the Organise styles dialogue
from the Production style pull-down menu. As
opposed to Insert connection (via part organisation |
insert connection part) all sizes of the loaded styles
are organised separately. The sizes appear organised
according to the loaded style on the Sizes file card.
The amount of sizes to be layed is stated per style
even if the size areas are identical in parts.
The compilation in Picture 18-3 consists of styles
"Style_A" with sizes ____36_0 to ____48_0 and
Picture 18-3
"Style_B" with sizes ____40_0 to ____46_0.
Although sizes ____40_0 to ____46_0 appear in
both styles, they are organised separately.
Therefore, the following can be determined:
1x size ____42_0 from Style _A and
1x size ____42_0 from Style _B
2x size ____44_0 from Style _A and
1x size ____44_0 from Style _B
The corresponding view in layplan mode is displayed
in Picture 18-4.
Picture 18-4
292
Chapter 18 Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
As a result, identical sizes from different styles are
given different bundle names.
When generating style combinations via Insert
connection part only the following would be possible:
1x size ____42_0 from Style _A and Style _B
2x size ____44_0 from Style _A and Style _B
The button Merge all styles combines all sizes and
creates the same status as with Insert connection
part.
Picture 18-5
18.3 Repeat
Step-by-step guide
⇒ If required: construction of additional points and
lines as auxiliary objects for defining match
relations
⇒ Compile production style
⇒ Set style specific match relations between
pieces, independent of the fabric
⇒ If required: set a match point on one piece of
the match group
⇒ If required: set match relations for left and right
piece for one piece of the match group
⇒ Save production style for further layplans
⇒ Enter the actual repeat information for a layplan
on the Material card
⇒ Layout the pieces.
Set points/lines in the construction style
If a style is to be used for layout with fabric repeat
(warp and/or weft), suitable points and lines must be
constructed in the relevant pieces within the style.
The actual match relations are set in the layplanning
software and attached to points or the beginning/
end of lines. Attaching to symbols is also possible. In
this case, the base point of the symbol applies.
Note for users of Version 8 or earlier: the symbols
“RP warp“ and “RP weft“ from the symbols menu
are invalid for repeat from Version 9 but can
continue to be used as points for setting match
relations.
The Set match relation dialogue
The match relations are set in the prepared
production style with the Production style |
Matching... menu. They are initially assigned specific
to the style and independent from the fabric.
Clicking Production style | Matching... opens the
dialogue according to Picture 18-5.
The pieces can be moved freely by dragging with
pressed down left mouse button and should be
suitably positioned first. All pieces with set match
relation are basically visible or can be made visible
with <F6>. Further pieces without match relation
appear once they have been made visible in part
organisation, also in the Set match relation dialogue.
If required, press <F6>.
The View size area allows selection of the currently
displayed size. Only one size is visible at one time.
The match relations apply equally for all other sizes.
Check whether the match relations have been set
correctly by displaying other sizes.
The Delete all button deletes all available match
relations.
Set match relations between different pieces
“Match point“ creates a connection between
different pieces. This match relation can apply to
match direction warp (repeat lines in grain direction)
and/or weft (repeat lines 90 degrees to the grain).
First, click a point at the beginning/ end of a line and
then, click the corresponding point in the other
piece.
In Picture 18-6 the pieces “ft facing“, “front“ and “ft
Picture 18-6
side panel“ were matched in warp and weft. Thus,
they belong to a match group. Another match
group consists of “back“ and “bk side panel“. When
placing the pieces in the layplan, the first piece
can be placed anywhere. All other pieces are
matched correspondingly, see Picture 18-7. The
first three pieces from Picture 18-6 were matched
for fabric repeat in warp and weft in Picture 18-7.
Chapter 18 Layplanning II
293
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
When clicking on a point of the match relation with
the right mouse button a context menu according to
Picture 18-8 appears.
Picture 18-8
Picture 18-7
In a similar production style, open the Set match
relation dialogue, position the pieces and activate
Match point and Weft and Warp. Now click on the
corner point centre front/ hem in the facing. The
cursor indicates either P or PL. P clicks on a point,
PL clicks on the beginning/ end of a line. It is
recommended to click on the sewing line rather
than the cut line as the repeat applies to the sewn
garment. Then, click the corresponding point in the
“front“ piece. The match relation is set and
indicated by a green line. If no suitable points are
available, they have to be constructed subsequently
in the style.
When setting match relations, all possible style
specific relations should be set in warp and weft
direction. If a specific fabric has only one repeat,
only this repeat will be utilised during
layplanning. If a fabric has no repeat, the style
can be laid out without repeat.
Display and edit set match relations, context
Existing match relations are indicated with a green
line. Check whether the beginning and end points of
the match relation have been suitably selected by
displaying other sizes with View size and if necessary,
move the pieces freely with pressed left mouse
button.
The first section and the line Symmetrical optic...
indicate the type of point. These settings cannot be
altered here.
The lines ...warp and ...weft indicate the match
direction(s) set for this match relation. The match
directions can be altered in the context menu
directly by clicking.
Clicking Delete entry deletes the match relation.
To close the context menu click on “Cancel“.
Clicking outside the context menu sets a new
relation!
In the Set match relation... dialogue the following
symbols apply:
Marking on the
Significance
piece
match relation with the two
match points
placement point
match point right – left piece
Cursor
Significance
relation applies to warp and
weft
Relation applies to warp
Relation applies to weft
294
Chapter 18 Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Match point right – left piece
The match relations with Match point apply to both
mirrored and unmirrored pieces in the same way.
The mirrored, matched pieces form one group and
the unmirrored, matched pieces form another
group. With “match right and left piece“ a piece
is matched with the mirrored piece, see example
in Picture 18-9.
Symmetrical optic
The fabric pattern is repeated symmetrically to the
centre front.
Picture 18-10
Continuous optic
The fabric pattern continues evenly across the centre
front.
Picture 18-9
When setting a Match point right – left piece you can
select between symmetrical or continuous optic.
Symmetrical optic is used for most styles. For
example for jackets or blouses where the fabric
should be repeated symmetrically to the centre
front or centre back.
Continuous optic is useful for panel skirts for
example where the fabric pattern is continued
across the centre front or centre back.
For the example from Picture 18-9 both options are
indicated in Picture 18-10 and Picture 18-11.
Picture 18-11
The Match point right – left piece is relevant for both
warp and weft direction. In warp direction, the
pieces are matched symmetrically or continuously to
the warp pattern. If the weft direction is also active,
the mirrored pieces are also matched to one
another in the weft, see Pictures 18-10 and 18-11.
Chapter 18 Layplanning II
295
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Placement point
“Placement point“ creates a direct link between
the piece and the fabric. It is required when a
fabric pattern is to be position in a particular place of
the piece such as for appliqué or distinctive stripes.
The placement point is mirrored with the mirrored
piece. It will point to the same place in the repeat.
Either one “match point right – left piece“ or
one placement point can be set per group.
Placement point at the marked position
B
A
Picture 18-12
Picture 18-12 shows a front with appliqué and a
placement point in two different positions. Picture
18-13 shows the layout for Picture 18-12.
Placement point A
Placement point B
Picture 18-13
Summary and tips for setting match relations
1. Match relations should be set style specifically
and independent from the fabric considering all
possible match directions in warp and weft.
2. First, set the match points. All pieces, which are
connected through match points, form a match
group. The piece placed first determines the
position of the other pieces in the match group.
3. Either one placement point or one match point
right – left piece can be set per match group.
4. Use the sew line for setting the match relations
rather than the cut line as the repeat applies to
the sewn piece and the seam allowance could
vary in width.
5. Construct sufficient auxiliary lines and points for
setting match relations before starting
layplanning. Match relations can also be
attached to dashed lines and symbols. When
attaching to symbols, the base point of the
symbol is utilised automatically.
6. ATTENTION! Matching right - left (unmirrored
– mirrored) pieces is often forgotten!
7. Check whether the match relations have been
set correctly by displaying other sizes.
Repeat settings on the Material card
In the file card Material under Layplan information, it
is determined whether the concrete material has a
repeat in warp (repeat lines in direction grain line)
or/and in weft (repeat lines vertical to the grain). The
fields for Distance and Offset of the repeat are only
active when the check mark for warp and/or weft
has been set. Distance gives the distance between
the repeat lines. From version 11 onwards these
values can be entered with decimal places. This
enables laying on pin-stripe repeats. Offset shows
the distance of the first repeat line from the edge of
the material (from the left or bottom).
The match relations must be set for all pieces to
be placed in a repeat!
In the Grafis Setup, Further repeat functions can be
enabled, see Picture 18-14. Sub repeats displays
additional auxiliary lines which have no further
function and which cannot be placed against. Use
the sub repeat as orientation for placing the first
piece.
296
Chapter 18 Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
The permitted repeat deviation is the tolerance about
which a piece is permitted to be moved outside the
repeat. The option end with full repeat ensures that
the layplan always ends with a multiple of the
repeat. The switch minus offset forms part of this
option. If this switch is set, the layplan ends exactly
with the repeat line.
Picture 18-14
During layplanning, the repeat lines are only
displayed if they have been switched on under
Layplan | Options. Output of repeat lines for plot/
print is set in the Plot layplan dialogue (Picture
17-16). For plot output, the repeat lines can be set
to appear as short lines, only at the edge of the
material with Edit | Settings
The switch match only (placement point not
active) means that the placement points are not
considered for the layout. This switch is useful for
example for a very small check while the match
relations have been prepared for a distinctive fabric
pattern.
With Match pieces without repeat matched pieces
are matched at the same height. This option is
required when the fabric has no obvious measurable
pattern but for example a colour gradation or
irregular repeat caused by distortion of the material.
Attention! When rotating or mirroring in layplan
mode, match points are also rotated and
mirrored!
18.4 Shrinkage
Shrinkage values (global)
Many materials shrinks after being steamed or
washed. As the patterns are developed for the
finished garment, the shrinkage of the material must
be considered before cutting.
Enter the shrinkage values in warp or weft in the
layplan information on the Material file card in the
Shrinkage values area after having set the respective
check mark. Negative values are permitted, also if
the material is stretched during processing. The
pieces are placed in stretched/ shrunk form.
Changing the shrinkage values for already placed
pieces results in overlapping/ gaps. Placed pieces
have to be repositioned.
Shrinkage values for the piece
Also during fusing with interlining the material may
undergo changes. As not all pieces are fused,
shrinkage must also be adjustable for individual
pieces.
If the values for shrinkage have been set on the
Material file card, one of the following piece-specific
options can be selected on the Pieces file card:
• for piece and buffer
The shrinkage values relate to the piece
perimeter and the buffer line.
• for buffer line, only
The shrinkage values apply to the buffer line,
only. In this case, the original perimeter remains
unchanged.
• do not apply
The shrinkage values are not applied to this
piece.
Shrinkage value assistant
Via the menu option Layplan | Shrinkage value
assistant, an already completed layplan can be
increased as a whole by a given percentage value.
This is only useful if the material width is big
enough or if there is a width reserve. The assistant
(Picture 18-15) carries out the following steps:
• Alteration of shrinkage values on the Material file
card
• Increase of layplan width by the % value in weft
direction
• Moving all pieces according to the shrinkage
values
Small overlaps of
individual pieces
may occur which
usually can be
fixed rapidly.
As opposed to
the percentage
increase of a
layplan
during
plot output with
stretching, in this
Picture 18-15
case,
all
annotation text is updated. This includes length and
width of the layplan as well as perimeter lengths and
area contents of the pieces.
Chapter 18 Layplanning II
297
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
In the file card Material in section Spreading type, the
spread type for the material and the bundle
direction is selected.
The following spreading types are available for the
material:
• right-left or “open“ is used for single-ply and
multiple-ply cutting. This is the most common
spread type (Picture 18-16). The individual layers
of fabric lie in the same direction with the same
Picture 18-16
side facing upwards. Automatic spreaders lay
beginning and lay the next ply in the same way
on top. Patterns or a possible pile face upwards
in all layers.
• right-right is used for multiple-ply cutting
(Picture 18-17). The individual layers of fabric all
face the same direction but with the other side
upwards. Automatic spreaders lay one ply, cut
• Folded laying up means a material of 1.50m
width is folded along its length (Picture 18-19).
The layplan is only 0.75m wide and has a fold.
Symmetrical pieces can be placed at the fold.
Symmetrical pieces must be marked with a
Picture 18-19
check mark on the Pieces file card in the Layplan
information. This check mark can only be set for
pieces which are not flipped.
In Grafis, the material appears unfolded but the
pieces can only be placed on the lower half of
the material. Flipped pieces automatically appear
in the upper half of the material. Symmetrical
pieces have to be dragged to the fold, only. They
will then appear placed on the fold.
• Tubular fabric is material in tubular form of half
width (Picture 18-20). As opposed to the
Picture 18-20
spreading type folded, the layplan has two folds.
Everything else is identical.
Picture 18-17
next ply turned over (with the right side facing
down). Patterns or possible pile face alternatively
up or down (see sketch).
The pieces are placed unflipped as the flipped
piece is taken from the turned ply. With the
spreading type right-right, layplans can be
created for zig-zag lays, also (Picture18-18).
Picture 18-18
As opposed to the spreading type right-right, the
ply is not cut off at the end. A right-right layer is
followed by a left-left layer. Zig-zag laying is
unsuitable for materials with a sheen or pile.
Bundle direction
For
each
of
the
types
mentioned,
three
bundle directions can
be
selected.
The
individual sizes, which
Picture 18-21
may appear more than
once, are arranged in bundles. All pattern pieces of
one garment are given one bundle letter (Picture
18-21). The options for the bundle direction relate
to the question “Where does the hem of the bundle
lie?“.
• different bundles - different direction (twoway) is used for material without sheen/pile,
without check and without a directional pattern.
Bundle A has the hem on the left, bundle B on
the right, bundle C has the hem on the left and
so on.
298
Chapter 18 Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
• all bundles – same direction (one-way) is used
for directional patterns (e.g. a face) which cannot
be rotated.
• same sizes – same direction is used for material
with sheen/pile but without directional pattern.
This option ensures that pieces, accidentally
picked from another bundle of the same size still
have identical sheen direction. All bundles of size
38 would have the hem on the left, for example;
all sizes 40 would have the hem on the right etc.
• same sizes – same direction (compensational)
As opposed to the previous option, here, the
bundle direction is not categorically alternated
from size to size. An internal logic ensures that
the number of bundles in both lay directions is
largely balanced. This option is particularly useful
if the quantity per size varies significantly.
If the expert mode adjust bundle direction manually is
activated in the Grafis setup, an additional button
Swap direction is visible on the Sizes file card. With
this button, the bundle direction can be specifically
set for each bundle. Select the bundle and switch
the bundle direction with Swap direction. If the
bundle direction is altered manually, none of the
available options for bundle direction will be
activated on the Material file card.
18.6 Fault areas
For faulty material, up to three (also regular) fault
areas can be defined and considered during
layplanning. The respective settings are made in the
layplan information on the Material file card. After
having checked Consider material faults, the button
Set values is active and can be clicked. The following
is to be entered in the next window for each fault
area (Picture 18-22):
• at warp (y)
start from lower edge
• width (dy)
width of fault area
• at weft (x)
start from left edge
• length (dx)
length of fault area
• repeat (in x)
distance between the starting
points of regular fault areas
The entered fault areas are indicated. With the
check mark Show fault areas only determines
whether pieces can be placed in the fault areas
(check mark set) or whether they are excluded
from layplanning (check mark not set).
The width of the Selvedge can also be entered in
this window. It appears as a dashed line in the
layplan and serves as and additional anchor line.
Picture 18-22
The settings for fault areas and selvedge remain
ineffective, if the check mark for Consider material
faults on the Material file card is not set.
18.7 Categories
With categories, piece-specific layout parameters,
especially buffer can be categorised. Prerequisite for
the use of categories is the existence of companyspecific rules for buffers, e.g. in particular for
sleeves, collars, cuffs, loops etc. For each category,
the parameter on the Pieces file card of the layplan
information can be set. These are:
¾ fixed settings: rotation angle, flip about x, flip
¾ allowances during layplanning: tolerance angle,
flip about x or y, rotate through 180°/±90°/±45°
¾ buffer at top/ bottom/ right/ left
¾ application of the buffer: as invisible safety
margin, buffer line as cut line or reduce piece by
the buffer amount
¾ apply shrinkage values of the material to the
piece and the material, to the buffer, only or not
at all.
Chapter 18 Layplanning II
299
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Set up categories
The category names are saved as measure group
999 in the file MASSCODE.DAT (directory \Grafis).
Before possible use of the MassCode Managers, at
least the name for group „999.000.044“ must
be assigned with Notepad. The name of the
category can contain letters and numbers. Below, an
extract from a MASSCODE.DAT as example:
!----------------------- Group 999
999.000.044 Category
999.001.044
999.002.044
999.003.044
999.004.044
999.005.044
999.006.044
999.007.044
999.008.044
999.009.044
999.010.044
999.011.044
999.012.044
999.013.044
999.014.044
999.015.044
999.016.044
--D
-B
–S
ID
IB
IS
XD
XB
XS
OD
OB
OS
IXO-
none/none
no turn/buffer
no turn/block
no turn/reduction
turn 180°/distance
turn 180°/block
turn 180°/reduction
turn 90°/distance
turn 90°/block
turn 90°/reduction
turn by 45°/distance
turn by 45°/block
turn 45°/reduction
turn 180°/none
turn 90°/none
turn by 45°/none
After having saved the MassCode.dat, the categories
can be assigned to pieces. Assigning ensues in the
part organisation in the part parameter window
(Picture 18-23), in construction style or in the
production style.
Picture 18-23
Assign
categories
with
piece-specific
parameters
The procedure for assigning categories, for in Grafis
Construction:
¾ Open new style.
¾ Construct a rectangle of any length in part 001.
¾ Duplicate part 001 until the part number is
identical with the required number of categories.
¾ Set the attribute Production piece for each part in
the part organisation and assign consecutive
piece categories (part 001 becomes the first
category, part 002 the second category etc.).
¾ Save the style.
Now, the steps in Grafis Layplan follow:
¾ Open the new style.
¾ Layplan Information | Pieces
¾ Set all parameters to apply to the first category
for part 001. For part 002, set all parameters to
apply to the second category etc. until the last
part.
¾ Button Next, button Close
¾ Save this link between piece-specific parameters
and the categories as a *.sbi file with Layplan
Information | Save As ....
¾ If the parameters are also dependant on the
material type, a number of these files can be set
up.
In the *.sbi files, not all categories must be assigned.
Later, the pieces are assigned with only the
categories which have been set up in the *.sbi file. A
*.sbi file is basically an empty layplan with an empty
part list, similar to a format template for wordprocessing.
Load piece-specific parameter from a *.sbi file
To use pre-set layplan information / categories, the
file card Pieces is to be opened for a loaded
production style. The parameters can be transferred
from the *.sbi file in two different variations:
A) All pieces of a production style which are
assigned a category, are assigned with the
parameters in the Buffer section, only (buffer at
ri/le/top/bottom with two options). In this case,
select the *.sbi file in the list or with the button
from file directly below Pre-set buffer.
B) All pieces of a production style which are
assigned with a category, are assigned with all
parameters in the sections Buffer, Fixed settings,
Allowance and Shrinkage values for the piece. In
this case, select the *.sbi file in the list or with
the button from file directly below Pre-set (all).
Edit *.sbi file
To edit a *.sbi file, load the file via Layplan
Information | Open and save after editing with
Layplan Information | Save. Alterations only become
parameter of the edited *.sbi file.
300
Chapter 18 Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
18.8 Step lay (free mode)
The layplan type Step lay is selected under Layplan
Information | Sizes. In a step lay with two materials
(Picture 18-24), the following sizes are to be layed:
1st step
2nd step
B
A
Picture 18-24
size 38
size 40
size 42
size 44
Material A
1x
2x
2x
1x
Material B
After having checked Step lay (free mode) on the
Sizes file card, additional buttons appear (Picture 1825).
After Remove all, first transfer the sizes for the first
step and then, the sizes for the second step with
double-click from the size list in the middle of the
window. Then, select the first size of the second
step (here: 38) and click on Start new step. After
entry of the required amount, the bundles appear
on the right. A continuous line in the left and right
window marks the start of the new step. All pieces
of bundles A and B belong to the first step, all other
pieces to the second.
1x
1x
The distribution of the sizes onto the different steps
is to be optimised by the user. The example plan can
be realised as follows:
2nd step
1st step
size 38
1x
size 40
1x
1x
size 42
1x
1x
size 44
1x
Picture 18-26
During layplanning, the sizes are offered, separately
for the different steps in the rack (Picture 18-26).
Picture 18-25
Chapter 18 Layplanning II
301
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
The end of the first step is marked, automatically in
the layplan. It is situated at the right edge of the
piece furthestmost to the right of the first step
(Picture 18-27). The layplan can be interlocked. The
end of the step(s) is marked at the edge when
plotting.
end of 1st step
x: pieces of 1st step
x
x
x
x
x
x
x
x
Picture 18-27
18.9 Layplan sequence
A number of layplans can be plotted in sequence.
This function is required for plotting multiple size
layplans as a layplan sequence, but also for quick
output of “mini markers“ for control purposes. The
individual layplans are to be prepared in Grafis and
are to be saved as layplan. Then, the layplan
sequence is assembled via File | Plot Layplan
Sequence and can be output, immediately if
required. The function File | Plot Layplan Sequence is
only active if no layplan and no production style are
open. If File | Plot Layplan Sequence is inactive, the
production style or the layplan must be closed via
File | Close.
The individual layplans are loaded and arranged in
the Plot layplan sequence window (Picture 18-28).
For each layplan, the number of the first bundle is to
be determined. An optional distance between the
individual layplans can also be entered.
If required, a layplan sequence can be saved,
temporarily with Save list and send for plotting,
later.
18.10 Hem position
In the Grafis
Setup, the hem
position can be
aligned between
construction and
layplan. Click on
Hem position on
the Other file card
in Grafis- Setup.
The
window
shown in Picture
18-29 is opened.
The
piece
is
Picture 18-29
aligned according
to the setting under Hem position in the construction,
only if no grain line
symbol or grain line
indicates the grain. The
Hem position in the layplan
always applies.
The hem direction is
saved in the layplan.
When opening a layplan,
the hem direction is
checked. If the hem
direction in the layplan is
different from the hem
direction in the settings in
the Grafis Setup, a query
appears. You can decide
to retain the hem
direction of the layplan or
rotate all pieces according
Picture 18-28 to the hem direction preset in the Grafis Setup.
18.11 Line types
With
the
construction
function attributes individual
lines can be assigned
particular
significance,
which are interpreted in the
layplan.
The optional annotation
line is used to attach and
centre the piece text, align
it and - if necessary - reduce
to the length of the line.
A line of the part can be
assigned as grain line.
However, the grain line
symbol (set by function symbols) takes priority. If the
grain line is to apply for a piece, no grain line symbol
302
Chapter 18 Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
must be set.
The optional split line
can be used to split a
piece in the layplan.
During
layplanning,
activate split piece
and click the piece
with the right mouse
button.
In
the
following
dialogue
(Picture 18-30) the
split line can be
selected as the cut
line.
The
seam
allowance can also be
set.The optional cut
internal lines are cut
Picture 18-30
during cutting and are
always plotted.
The seam line is interpreted only during export in
ASTM format. It has no significance for the layplan.
During plot/print from the layplan, marking lines
and/or auxiliary lines can be selected, additionally
for output. Which line types are to be interpreted as
marking lines or auxiliary lines have to be
determined in the Line type dialogue (Picture 18-31).
This dialogue is opened via the Grafis Setup on the
Others file card with the Line type button. Line type 1
is the continuous line, Line type 2 is the dotted line
etc.
In the Line types dialogue, the grain line, annotation
line etc should not be assigned. Only if the user has
worked with particular settings in this area with
Version 9 or earlier, should these settings remain in
place.
18.12 Material catalogue/ material preselection
A material catalogue for use in the Material file card
of the layplan information can be set up. Material
data saved in the material catalogue, such as material
width, repeat information or material type is
activated via selection in the combo box. Alteration
to the material data can be transferred to the
material catalogue with the button Save. After entry
of a new catalogue designation and activating the
Save button, a new entry is added to the material
catalogue. With the Delete button, the selected
entry is deleted. Use the material catalogue to
The material catalogue is saved as Material.dba
under \Grafis. The file can be edited with the editor
Notepad.exe according to the following principle: In
each line, the following information is to be entered,
separated by <Tab>:
• consecutive number
• name of the material
• width in mm
• material type code
• repeat in warp in mm
• repeat in weft in mm
• offset for warp in mm
• offset for weft in mm
If the value for repeat in warp or weft is 0, no repeat
is applied. In the future, the shrinkage values will
also be included in the material catalogue.
18.13 Overlap areas
Via the Overlap area dialogue, areas in the layplan
can be indicated where material can be restarted.
This option is required for using up material
remnants or if material has to be cut and restarted
due to material flaws, see Picture 18-32.
Picture 18-32
Picture 18-31
A list of possible overlap areas appears in the
Overlap area dialogue. You can select which overlap
areas are to be shown in the layplan. Initially, only
the areas with the shortest overlap lengths are
selected. With All you select all areas, with None all
areas are switched off. Typical activates all areas with
Chapter 18 Layplanning II
303
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
In the plot picture, the overlap areas are indicated
with a marking at the top edge of the layplan. These
markings appear at the bottom edge of the layplan
as well if the option display marking also at bottom
edge of plot picture is selected in the Overlap area
dialogue.
Even after having activated overlap areas, pieces can
still be placed or positions can be changed. If
however the position of a piece which defines the
overlap area is changed, this overlap area is no
longer valid and is removed. Replacing the piece
does not re-activate the area. Open the Overlap area
dialogue and re-activate the selected area.
18.14 Exchangeable pieces
Picture 18-33
an overlap length of up to 30cm.
Overlap areas activated in the dialogue are shown as
hatched areas in the layplan. To ensure that each
pattern piece is cut correctly once, the previous
layer (material end) has to be layed at least to the
right line and the following layer (material start)
must be continued from the left line, see Picture
18-33.
The Exchangeable pieces dialogue allows for example
the production of the side panel of a jacket as a twopiece in the smaller sizes and a straighter cut onepiece for the larger sizes, see Picture 18-34 with
parts 013, 014 and 015.
If no other selections have been made in the
Exchangeable pieces dialogue, the three pieces
appear in the layplan in all sizes. The Exchangeable
pieces dialogue appears in part organisation by
switching to +exchangeable parts in the right menu.
First, all sizes are marked and thus, active for
Picture 18-34
304
Chapter 18 Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Picture 18-35
layplanning. By clicking the sizes or an area of sizes,
the selection can be changed. For the two-piece side
panel in Picture 18-34, parts 013 and 014 must be
selected one after the other and the sizes N34 to
N42 must be activated in the Exchangeable pieces
dialogue. Then, activate sizes N44 to N48 for part
015, see Picture 18-34.
During grading of the style, all parts are
calculated in all sizes and exported during
’Export pattern pieces’.
The settings in the Exchangeable pieces dialogue are
taken into account in the Grafis Layplan, see Picture
18-35. The settings are not significant for grading or
export.
Dialogue Layplan Characteristics
Via Layplan | Characteristics... the dialogue shown in
Picture 18-36 opens. In the simple variation, this
dialogue shows some basic information about the
layplan: width, length, efficiency, name of the
production style and the number of pieces and
bundles.
With the button Extended>> the dialogue switches
to a more detailed
version. It allows
for indication and
calculation
of
weights and costs.
The entry field for
area weight and
price per meter
are saved with the
layplan. A number
of
values
are
calculated on the
basis
of
the
entered data, such
as total cost or the
effective
weight
per bundle.
Picture 18-36
Toolbox
The toolbox contains the most commonly used
functions. It can be turned on/off in the View pulldown menu. The content of the toolbox is
determined via the Grafis Setup.
Chapter 18 Layplanning II
305
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
18.16 Cutter output
The output of cutter data is optional. It is
enabled and set up by the Grafis Team.
Control data for a cutter can be created directly
from a placed layplan. File | Generate Cutter data
opens a dialogue in which you can select the cutter
and determine some options, see Picture 18-37.
Cutter-specific options
The options cut notches and set drillholes control the
output of the respective symbols. The option rotate
notches inside / outside rotates V notches and
rectangle notches by 180°. If the cutter can also
plot, further options are available. In this case,
annotation, text and internal lines can be output as
drawn objects. Adjustment of the annotation can
only be made in the plot dialogue.
information about length, width, cut path length,
free travel, amount of drillholes and amount of
notches amongst others.
If the option initial cut point, direction and cut
sequence manually is set, a further dialogue opens
where cutting settings can be controlled and altered
specifically for each piece.
The Cutter menu opens during generation of cutter
data if the switch initial cut point, direction and cut
sequence manually is set.
determine cut sequence
reset
cutting direction…
invert
all clockwise
all counter clockwise
reset
initial cut point
reset
start output
Picture 18-37
General options
In the lower part of the dialogue, you can find
general settings. If fusing blocks are contained in a
layplan, their content can be saved as a separate cut
file: set the option generate separate file for fusing
blocks. These separate files are required for
subsequent cutting of the small pieces.
The option divide into file segments at split line is
useful for large layplan files, longer than the length of
the cutter table. To consider a cutter table length of
10m, set the display of anchor lines to every 10m on
the Material file card. Considering the anchor line,
you can create a layplan of 12m length for example.
With the set option, two cutter files are output, one
with 10m length and one with 2m length.
The option generate info file creates a text file
containing information about the layplan. This
includes data such as length, width and name of the
layplan. Additionally, each part of the cutter file is
assigned the original Grafis part name.
With the option show summary, after creation of the
cutter file, a summary is displayed containing
If the Cutter menu is active, the number in the cut
sequence, the cutting direction and the initial cut
point are indicated for each piece, see Picture 1838. These current settings can still be altered at this
initial cut point
cut sequence
33
cutting direction
Picture 18-38
stage.
With the function determine cut sequence, the
sequence in which the pieces are cut can be redetermined. Activate determine cut sequence and
then click on the piece to be cut first with the left
mouse button, then the second and so on. With
reset the original sequence is reinstated. If you now
want to determine the first piece to be cut again,
306
Chapter 18 Layplanning II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
de-activate determine cut sequence and then reactivate the function.
The following three functions influence the cutting
direction. The functions all clockwise and all counter
clockwise set the cutting direction of all pieces to
clockwise or counter clockwise. With the function
invert cutting direction the cutting direction can be
changed for individual pieces by clicking on the
piece. With reset the original cutting direction is
reinstated.
If the function initial cut point is active, the initial cut
point for each piece can be dragged with the mouse
to a different point of the perimeter. With reset the
original initial cut point is reinstated.
18.17 Autonester
The control of Autonester is optional and is
enabled and set up by the Grafis Team.
The Grafis Autonester is an optional additional
software package for automatic layplanning. The
layplan is prepared as usual. On the Material file
card, enter the material width, the fabric type and
the layplan scheme. On the Pieces file card
permission for rotation or mirroring in the layplan
can be given. The last step is setting the desired size
run. Having opened the layplanning mode, the
layplan order is sent to Autonester via Layplan |Send
to Autonester.
The Grafis Autonester is a separate program with its
own user interface. During calculation of a layplan
order, the interim
results appear in a
control window.
The length and
efficiency of the
current
interim
result is shown in
the title bar of the
control
window
and
in
the
Autonester
window,
see
Picture 18-39. A
reference to the
interim result of
the
respective
layplan appears in
the Grafis Layplan.
As
Autonester
works
independently of
the
layplanning
program, you can
continue working
parallel to the
automatic marker
Picture 18-39
making. As soon as the Autonester order has been
processed, a reference appears in the layplanning
program and the calculated layplan can be
transferred, see Picture 18-40.
Often, several layplans are to be created for an
order. From the Size file card, the different size
range layplans can be transferred rapidly to
Autonester. Select the desired size combinations
and save an empty, unplaced layplan. If the option
create Autonester order during save is active, the
layplan order is sent automatically to Autonester
when saving the layplan.
Picture 18-40
Chapter 19
Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Content
19.1 A simple program: square ............................ 308
19.2 Data basis and user interface........................ 309
19.3 Rules for programming................................. 313
19.4 Program: Gradeable rectangle ..................... 314
19.5 Program: Collar band................................... 316
19.6 Program: Skirt .............................................. 320
19.7 General guidelines ........................................ 325
______________________
basic block are entered as text. Basic blocks should
be developed in the programming language if a
company-specific fit or a complete component
solution is to be developed. It is to be considered
that the programming language is an abstract form
of pattern development. Apart from excellent
pattern construction knowledge and experience in
the application of Grafis, considerable familiarisation
time is required. For development of production
patterns from prepared, adjusted basic shapes, the
functions of the Grafis dialogue are the more
appropriate tools.
The Grafis Programming Language is used for
development of basic blocks and construction
components. The individual steps for generation of a
__________________________________________
'*************************************
Program Main()
'------------------------------------lVar
nVar
rVar rWi3,rWi7
pVar p1,p2,p3,p4,p5,p6,p7
sVar
qVar q1,q2,q3
tVar
cVar
'------------------------------------lCon
nCon
rCon rRi=0,rLe=180,rUp=90,rDo=270
rCon rClLng=150
tCon
'------------------- x value definitions
XTitel("collar band")
Defx(1,"raise CB",35)
Defx(2,"collar fall width",20)
Defx(3,"collar width CB",40)
Defx(4,"collar point(x) to p3",40)
Defx(5,"collar point(y) to p3",45)
Defx(6,"ang neck+foldline in p3",90)
Defx(7,"ang collar edge in p7",80)
'--------------------------- points at CB
p1 = pXY(0,0)
p2 = pXY(0,rX(1))
p4 = pPRiLng(p2,rUp,rX(2))
p5 = pPRiLng(p4,rUp,rX(3))
'--------------------corner point p3 (CF)
p3 = pXY(rClLng,0)
p6 = pPRiLng(p3,rRi,rX(4))
p7 = pPRiLng(p6,rUp,rX(5))
'------------------------------ neck line
rWi3 = rWiPPP(p6,p3,p7)
rWi3 = rWi3+rX(6)
q1 = qSpline(p3,rWi3,p2,rLe)
q2 = qSpline(p3,rWi3,p4,rLe)
'---------------------------- collar edge
rWi7 = rRiPP(p7,p3)-rX(7)
q3 = qSpline(p7,rWi7,p5,rLe)
'------------------ output points + lines
AusP(p1,p2,p3,p4,p5,p6,p7)
AusQ(p2+p5)
AusQ(p3+p7)
AusQ(q1,q2,q3)
'------------------------------------End Program
'*************************************
p5
p4
p7
X7
p2
X6
p1
p3
p6
308
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
19.1 A simple program: square
Introductory notes
From version 8 onwards, the new programming
language is part of the Grafis package. It is a
compiler-oriented programming language. The
programs are no longer processed, interpretively
but in machine-similar code. The processing of the
programming language program is therefore,
significantly faster. The new programming language
contains many tools common in other programming
languages; adapted to the requirements of pattern
construction. The use of sub-programs is also
possible, so that repeated calculations can be saved
as sub-programs. The clarity, in particular for the
text display and the syntax check have become
better and more accurate compared with the
previous programming language. Users who have
worked with the previous programming language
will, at first, find the current language more
complex. With further observation, it will become
clear that the new techniques allow for a shorter
and more transparent programming.
Square
In the first project a square (Picture 19-1) is to be
constructed which will later be transformed into the
shape of a house as in Picture 19-2.
p02
p03
100 mm
100mm
p00
p01
Picture 19-1
Start the new project “square“ as follows:
⇒ Extras | Programming language
⇒ Project | New...
⇒ Project name: square
⇒ enter 9-digit code for your name (according to
Picture 19-4)
⇒ enter 2-digit code for the product group, e.g.
“TB“ for Textbook exercises
⇒ With <OK>, the project is created.
The structure of the program Main() has been set
up in the edit window (Picture 19-5). Edit the
program as follows:
'*************************************
Program Main()
'- Program: square
'- Declaration lines
lVar
nVar
rVar
pVar
sVar
qVar
tVar
cVar
'- Constants
lCon
nCon
rCon
tCon
'- Allocations / Instructions
'- Program end
End Program
'*************************************
After a first compilation with the button
or
<F4>, the program thus far has been automatically
formatted:
'*************************************
Program Main()
'--------------------- Program: square
'------------------- Declaration lines
lVar
nVar
rVar
pVar
sVar
qVar
tVar
cVar
'--------------------------- Constants
lCon
nCon
rCon
tCon
'---------- Allocations / Instructions
'------------------------- Program end
End Program
'*************************************
The construction of a square can be carried out as
follows:
⇒ assign points p00 to p03
⇒ output points p00 to p03
⇒ output connecting lines between the points
The following allocations/instructions lead to the
result:
'--------- Allocations / Instructions
p00= pXY(0,0)
p01= pXY(100,0)
p02= pXY(100,100)
p03= pXY(0,100)
The function pXY() constructs a point from the x
and y co-ordinates to be entered. The x co-ordinate
of point p01 has the value 100 and the y coordinate the value 0.
AusP(p00,p01,p02,p03)
With the instruction AusP the listed points are
output to the screen. Without this instruction line,
the points are assigned in the program but are not
displayed on the screen.
Chapter 19 Programming Language I
309
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
After entry of the five lines, compile the program
with
and then test it in the test run with
p04
.
Clicking
switches to the Grafis screen and the
points of the square appear. The Grafis screen can
be closed with the right mouse button.
With the instruction AusQ, individual lines, curves
or polygons are output. Select Inner Fcn in the
variable list and click on AusQ. A help text for the
selected function appears below the edit window.
The connecting lines are output as one line, linked
across the corners with
p03
p02
AusQ(p00+p01+p02+p03+p00)
with the lines
AusQ(p00+p01,p01+p02)
AusQ(p02+p03,p03+p00)
the connecting lines are output as individual lines
from corner to corner. The line does not have to be
created as a variable, first. The calculation can ensue
directly in the function. The lines
s1=sPP(p00,p01)
AusQ(s1)
lead to the same result as the line
AusQ(sPP(p00,p01))
AusQ(p00+p01)
p00
or as
In the first option, the line is created as variable s1,
first and then output. In the second option, the line
is created directly in the instruction. The function
sPP(p00,p01) creates a line variable as a
connection between two points to be entered.
Variation “house“
The square can be transformed into a house (Picture
19-2). An additional point p04 is to be created as
the apex of the roof. The lines are to be output,
continuously.
The following allocations/instructions lead to the
result:
'------------ Allocations / Instruction
p00= pXY(0,0)
p01= pXY(100,0)
p02= pXY(100,100)
p03= pXY(0,100)
p04= pXY(50,150)
AusP(p00,p01,p02,p03,p04)
AusQ(p00+p02+p01+p00+p03+p04+p02+p03+p0
1)
Save the project via Project | Save and quit the
project user interface via Project | End.
p01
Picture 19-2
19.2 Data basis and user interface
Data basis
The development of a basic block ensues in a socalled project. A project consists of
• the modules in clear text,
• the object code for the project and
• the program in the processable programming
language as the result.
The project itself is saved as a directory. This
directory contains the modules in clear text and the
object code. The processable programming language
program is saved directly in the \PROG directory of
the respective measurement system. Picture 19-3
contains a detailed overview.
To copy or duplicate, it is sufficient to copy the
complete
directory
\Grafis\Module\[meassystem]\[Project name]. All data belonging to the
project are included. To pass on a tested and
released programming language program, it is
sufficient to copy the *.cpr file from the directory
\Grafis\[meas-system]\PROG.
310
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Grafis
|--Basis_D
|
|--PROG
|
|
|
|
|-- ...
|--Module
|--Basis_D
|--\[Project name]
*.cpr files (example: KFriedric_LA_c001_00.cpr)
These processable programming language programs contain all
information required for processing of the module. To be able to run
styles in which this module was used on other computers, this file
must be also be transferred.
Each project obtains its own directory under \Grafis\Module\[meassystem]\ in which all files of the project are saved. The project
“Bodice 01“ in the Optimass measuerement system is saved as
directory “\Grafis\Module\Basis_D\Bodice 01“.
The project directory contains the following files:
¾ Modul.ini Initialisation file for the project
¾ Main.qpr Source code of the main program « Main » in RTF
format
¾ Main.qpt Source code of the main program « Main » as ASCI file
¾ Main.opr Object code of the main program « Main »
… and further files *.qpr, *.qpt and *.opr of possible sub-programs.
Picture 19-3
Start new project
To develop a new
basic shape, start
List of recent program names
Grafis with the
To pre-set the entry fields, one of the
recent names can be selected.
required
construction
Code for the developer (9 digits)
system.
Programming with
the programming
Code for the product group (2 digits)
language
should
Consecutive number (3 digits)
ensue in a new
style
so
that
important styles are
Alteration code (2 digits)
not
accidentally
reset
or
overwritten.
A new project is
Picture 19-4
started via the pulldown menu Extras
Name of the program file
| Programming language and then, Project |
The name of the program file has a given, pre-set
New.... The project name must not contain special
length of 20 characters. It has been lengthened by
characters (e.g. “!+-ßäöü). A suitable name would
12 characters from version 7 or earlier. Thus,
be for example “Bodice 01“.
program can be differentiated, more easily and use
In addition to the project name (= directory for
of the same name can be prevented.
development files, Picture 19-3), a name for the
processable programming language program is to be
given. The window Grafis- Generate program file
name (Picture 19-4) opens.
Chapter 19 Programming Language I
311
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Variable list
for display of
modules,
functions...
Edit window
(editing the programs)
Help text for the selected inner function
Picture 19-5
The name consists of the following codes:
KFriedric_LA_c000_00
|-- 9-digit code for the developer
Examples:
KFriedric for Kerstin Friedrich
BBachmann for Betty Bachmann
FSBeautyW for Fred Smith, employee at the
company BeautyWear
RWRollerD for Roland Williams, working for
the company Roller Design
KFriedric_LA_c000_00
|-- 2-digit code for the product
group
Examples:
LA
ME
for menswear
CH
for childrenswear
KFriedric_LA_c000_00
|
3-digit consecutive number
KFriedric_LA_c000_00
|
2-digit alteration code
Only for the first project of a developer, the
window is to be filled in, completely. This includes in
particular the developer code and the code for the
product group. The consecutive number is
suggested by Grafis, automatically and should only
be changed if necessary.
The alteration code must be increased, if an
already delivered/ applied program is to be
edited. The alteration code can be increased in the
project user interface with Extras | Option.
For further projects, a relevant name can be
selected from the list of recent project names and
The project user interface
The three largest areas of the project user interface
(Picture 19-5) are
• the edit window for entry of the programs,
• the variable list for display of available modules,
functions, ... and
• a window with help texts about the selected
inner function.
The program Main is started, immediately as an
“empty“ program in the required structure, see
Picture 19-5. All keyboard entries and the buttons
above the edit window apply only to the program
text. The variable list and the window with help
texts are display areas without entry option.
312
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Edit functions
The following can be used for edit:
move cursor left, right, up, down
←→↑↓
next line
↵ (Enter)
Home
cursor at beginning of line
End
cursor at end of line
Delete
delete next/selected character
Ctrl+Home cursor at beginning of program
Ctrl+End
cursor at end of program
right mouse
open the context menu = pullbutton
Analogous to other editors, selecting one or more
lines is possible by clicking at the edge of the line.
Selected lines are moved with the left mouse button
pressed or copied with additional pressed Ctrl key.
Further edit functions can be found in the Edit pulldown menu which can also be opened as context
menu with the right mouse button.
Buttons compile and test
The functions most commonly used during program
development can be found on the buttons above the
edit window.
The fist block of buttons contains functions for
compiling and testing of programs:
compile (syntax check and first
translation)
create & test the program in test run
create & test the program with grading
show / hide VList entries;
If the VList() button is switched on, the
program is stopped at the VList stops
during create & test. The values of the
entered variable appear in the variable
list.
Display of the result of the last create &
test of the program
Buttons search and replace
The second block of buttons contains functions to
search and replace characters:
select all characters in the program
identical to the characters in the field on
the right
search
the
characters in the
right field
replace the selected
characters with the
term to the right of
Select the search term, e.g. p01 in the program. It
automatically appears in the search field to the right
of
, in which the term could also be entered.
Clicking on
or
selects the next character
string found.
To replace e.g. p01 with p02, the following
procedure is recommended:
⇒ Select the search term in the program,
⇒ enter the replace term (here: p02) to the right of
,
⇒ Click on
if the selected term is to be
replaced with the replace term.
The variable list
The buttons Module, Inner Fcn etc. above the
variable list work like file card tags. After having
clicked one of these buttons, the following is
displayed in the variable list:
Button
Content of the variable list
Module
all program modules (*.qpt files)
for the current project
Inner Fcn.
all inner functions
External Fcn. all external functions of the current
project (of all program modules)
Objects
the output objects (points + lines)
with the data (o-object number,
ty-object type, po-pos-number)
Automatic formatting
Each compiling started with
or <F4>,
automatically formats the program text as well as
checking the syntax. During automatic formatting of
the program text, instructions are highlighted in
As a rule, instructions are indented by two
characters; in loops by another two characters. The
first letter of the variable name must be in lower
case and the second letter must be in upper case.
To simplify entry of comment lines, the following
rules apply:
1. If a single inverted comma is entered in the
first column, the character following the
inverted comma will fill the whole line.
′- becomes...
′----------------------------------′* becomes...
′***********************************
2. If a single inverted comma is entered in the
second or a following column, the text is
aligned right.
′---Initialisation becomes...
′---Initialisation
′output points
becomes...
′output points
3. One single inverted comma followed by a
space result in the text being unchanged.
′ ---Initialisation
remains...
′ ---Initialisation
Chapter 19 Programming Language I
313
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
′ output points
remains...
′ output points
Comments can also be entered in a program line to
the right of the instruction. Here, the second and
third rule apply.
Note: Test the automatic formatting and the
rules for comments with the still “empty“
program Main().
19.3 Rules for programming
a A program is set up in lines.
a Each line contains an allocation or an
instruction.
a The line width should not exceed 64 characters.
a Upper/lower case, spacing and possible
indents at the beginning of the line are
formatted by Grafis, automatically during
compiling.
a The inverted comma ′ indicates that the
following text is a comment which is not
processed.
a The character “&“ in the first column indicates
that the line is a continuation line.
a The module Main() must be contained in each
project and contain the program Main().
a Each project contains exactly one program with
the name Main(). This program is processed, first
after calling.
a Each project can contain any number of inner
functions and any number of external
functions. The inner functions are part of the
Grafis package. External functions are
programmed by the user.
a Each program begins with “Program
Main()“ and ends with “End Program“.
a Each function begins with “Function
xXxx()“ and ends with “End Function“.
Variables
In Grafis, variables of different types are used. The
variable name can consist of up to 64 characters,
where the first character indicates the variable type.
Variables can only be used after they have been
declared at the beginning of the program or the
function. During declaration of variables memory is
reserved and set to nil. The variable is then, available
until the end or the function or program.
The following variable types are available:
Explanation
lXxx
the value True or False
number (whole number) with a
value between -2*109 and
nXxx
pXxx
sXxx
qXxx
tXxx
cXxx
Ground rules
Type
rXxx
Exam
ple
lQuery
nNum
+2*109 (2.000.000.000)
real number, accurate to 6
decimals
point with x and y co-ordinates
line with start and end point
polygon / curve / line sequence
(q stands for queue)
text with up to 10.000
characters
container
r01
pSln
sHem
qArm
tHelp
cBox
All variables used must be declared in the program/
function header. The declaration lines begin with
lVar for logical variables, with nVar for whole
number variables etc. For each variable type, a
number of declaration lines may be entered.
Example:
nVar nIs1,nIs2,nIndex
The values of the variables are set via allocation
lines.
The variable types l (logical), n (whole number), r
(real) and t (text) can also be defined as constants at
the beginning of the program/function. The
logical variables, with nCon for whole number
variables etc.
Example:
nCon nIs1=1,nIs2=2
Constants may not be declared as variables at
the same time.
Variables and constants apply only within the
program or function in which they were
declared.
All new variables used during programming, are
automatically entered into the declaration lines
during compiling, provided a minimum of one
(also empty) declaration line is available for this
variable type.
Allocation
The character “=“ stands for allocation in all
programming languages. As opposed to an equation
in mathematics, here it means:
The value of the term to the right of “=“ is
assigned with the variable to the left of “=“.
Therefore, to the left of “=“ must be a variable.
The following line would be incorrect as a
mathematical equation. As an allocation for
programming it has the following meaning:
nNumber=nNumber+2
The variable nNumber must first be declared in the
program header. When processing this line, the
term to the right of “=“ is calculated, first and then,
assigned to the variable on the left of “=“. If
nNumber has the value 5 before processing the
line, the result of the term to the right of “=“ has
314
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
the value 7. After processing the line, the value of
nNumber has been increased by 2.
Instructions
With instructions, operations are carried out during
programming which can effect one or more objects.
In Grafis, instructions for move, rotate, flip or screen
output are available for one or more objects.
Instructions begin with a command word as
opposed to allocations.
Inner functions
Inner functions are prepared functions which are
part of the Grafis package. Inner functions which
deliver a value are used in calculations. Inner
functions which carry out an operation are used in
instruction lines. The range of inner functions is
sufficient to program all steps common in pattern
construction.
After having opened a project and having clicked the
button Inner Fcn. (above the variable list), all inner
functions are displayed in the variable list. Clicking
on a function highlights it. At the same time, a help
text on the selected function appears below the edit
window. Double-click on the function inserts it into
the program.
The first character of the name of an inner function
which delivers a value, is a code for the type of the
delivered value. The types are identical to the
variable types. The function rG() delivers a real
value. The function pPRiLng() delivers a point.
Allocation of values
Declared variables are allocated a value with the
following instructions:
Logical variable
lQuery1=False
lQuery2=True
Number / whole number variable
nIndex=1
multiplication, division) of numbers, whole
number/real variables and whole number/real
functions are possible. If the term on the right of
the “=“ does not deliver a whole number value, it
is rounded to the nearest whole number.
Real variable
rDistance=920*2/3+14
Here, analogous to whole number variables,
mathematical calculations are also possible.
However, the result is not rounded.
Point
p00=pXY(0,0)
Points are set with the use of the inner functions.
Copying a point with p31=p30 is also possible.
Line
sHem=sPP(p31,p42)
... analogous point
In addition, with sHem=-sHem the orientation of
the line can be altered.
Curve
qArm=qSpline(p01,r01,p02,r02)
... analogous line
Text
tInfo=“My first program.“
The text must always be placed between
quotation marks.
A gradeable rectangle (width: bust girth, height:
body height) is to be constructed (Picture 19-6).
The following lines generate the result:
'****************************************
Program Main()
'------------------- declaration lines
lVar
nVar
rVar rWidth,rHeight
pVar p00,p01,p02,p03
sVar
qVar
tVar
cVar
'--------------------------- constants
lCon
nCon
rCon rRi=0,rLe=180,rUp=90,rDo=270
tCon
'-----------allocations / instructions
p00= pXY(0,0)
rWidth = rG(1)
rHeight= rG(3)
p01= pPRiLng(p00,rRi,rWidth)
p02= pPRiLng(p01,rUp,rHeight)
p03= pPRiLng(p02,rLe,rWidth)
AusP(p00,p01,p02,p03)
AusQ(p00+p01,p01+p02)
AusQ(p02+p03,p03+p00)
' ------------------------ Program end
End Program
'*************************************
Chapter 19 Programming Language I
315
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
p03
Y
p02
130°
90°
X
180°
Height=
g3
270°
Picture 19-7
Width=g1
p00
p01
Picture 19-6
The declaration of the new variables rWidth and
rHeight is carried out, automatically during first
compiling. It is not necessary to enter the variables
in the declaration lines, yourself.
Directions
Directions are given in angle degrees. A point is set
to the left if the value of the direction is 180. All
angle entries relate to the positive x axis and are
anti-clockwise (Picture 19-7). If you find it difficult to
imagine a direction in angle degrees, you should
work with direction constants, e.g. rRi=0,
The functions pXY(), rG(), pRiLng()
The lines in the block ”allocations/instructions“ have
the following significance:
p00= pXY(0,0)
The variable p00 is allocated with the inner function
pXY(). The parameters after the open bracket
state the x and y co-ordinates of the point. In this
case both co-ordinates are 0. Thus, p00 is the zero
point.
rWidth = rG(1)
rHeight= rG(3)
The new variables rWidth and rHeight are
allocated with values which are calculated with the
inner function rG(n). The function rG(n)
calculates the nth size value of the measurement
chart. With rG(1) the first value of the
measurement chart (in Damen_5 and Basis_D: bust
girth) and with rG(3) the third value of the
measurement chart (in Damen_5 and Basis_D: body
height) are transferred.
p01= pPRiLng(p00,rRi,rWidth)
The new point p01 is allocated with the result of
pPRiLng(p00,rRi,rWidth).
pPRiLng()
calculates a new point which is to be positioned in
direction rRi and at distance rWidth from point
p00.
Instead of variables, functions of the same type
and for real/whole number parameter, numbers
can be entered in the parameter list of inner
functions. Thus, the following lines have the same
meaning:
p01= pPRiLng(p00,rRi,rWidth)
p01= pPRiLng(pXY(0,0),rRi,rG(1))
p01= pPRiLng(p00,0,rWidth)
In the lines
p02= pPRiLng(p01,rUp,rHeight)
p03= pPRiLng(p02,rLe,rWidth)
point p02 is calculated from p01, upwards with the
distance of the rectangle height. The same applies to
p03.
316
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Output of objects, test program
AusP(p00,p01,p02,p03)
outputs the corner points of the rectangle to the
screen.
AusQ(p00+p01,p01+p02)
AusQ(p02+p03,p03+p00)
outputs the connecting lines between the corner
points to the screen as individual lines.
After having entered the program lines and having
compiled the program
, the program is to be
created & tested
. The result appears after
.
The programming user interface reopens with the
right mouse button. With
, the
program is tested not just in the base size but in all
sizes in the size table and displayed after clicking
. For the height of the rectangle to change, short
/ long sizes or individual sizes must be entered in the
size table.
19.5 Program: Collar band
A collar band according to Picture 19-8 with the
application of the following x values is to be
programmed:
Step
Value
X Definition
1 raise CB
p1⇒p2 35mm
2 collar fall width
p2⇒p4 20mm
3 collar width CB
p4⇒p5 40mm
4 collar point (x) to p3
p3⇒p6 40mm
5 collar point (y) to p3
p6⇒p7 45mm
6 angle fold + neck line
in p3
90°
7 angle collar edge
in p7
80°
Application of x values
x values must be defined in the program header,
immediately after the declaration lines for variables
and constants. For definition of x values, the
following applies
a With the line
XTitel(".............")
a program name is transferred which will later
appear in the x value list of the basic block. With
this, the user can recognise to which basic block
these x values belong. The title may have a
maximum of 50 characters.
a The x values must be defined at the beginning of
the program with the following instruction
structure:
Defx(1,".....",10.0)
Defx(2,".....",12.5)
| |
|
| |
|_ standard value
| |_______________ comment text
|_________________ consecutive number
a The standard values must only have one decimal
and must be between the values of
-3200. <= value <= 3200.
a The consecutive numbers must begin with 1 and
ascend in numerical order (no gaps).
a Each x value can be assigned with size-specific
values. The definition line of the x values is
extended as follows:
&
"_36",3,"_46",4,"_036",1,"_046",2)
|
|
size value
(_ stands for standard measurement chart!)
The sign & stands for a continuation line. The x
p5
p4
p7
X7
p2
X6
p1
p3
p6
Picture 19-8
Chapter 19 Programming Language I
317
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
value definition line can have more than one
continuation lines.
The code ”Defx“ with consecutive number,
name and standard value can also be followed
with size-specific x value allocations. In definition
blocks, a size is allocated with a value which the
x value is to apply for this size. The size names
"_" !
Programming of the points
As a rule, a program is developed in steps and tested
after each step. Only when the first step has been
successful, should the second step be commenced.
The first step for programming of the collar band is
the programming of the points at the centre back,
followed by the points at the collar point.
'*************************************
Program Main()
'------------------------------------lVar
nVar
rVar
pVar p1,p2,p4,p5
sVar
qVar
tVar
cVar
'------------------------------------lCon
nCon
rCon rRi=0,rLe=180,rUp=90,rDo=270
rCon
tCon
'----------------- x value definitions
XTitel("collar band")
Defx(1,"raise CB",35)
Defx(2,"collar fold width",20)
Defx(3,"collar width CB",40)
Defx(4,"collar point(x) to p3",40)
Defx(5,"collar point(y) to p3",45)
Defx(6,"ang neck+foldline in p3",90)
Defx(7,"ang collar edge in p7",80)
'------------------------ points at CB
p1 = pXY(0,0)
p2 = pXY(0,rX(1))
p4 = pPRiLng(p2,rUp,rX(2))
p5 = pPRiLng(p4,rUp,rX(3))
'----------------------- output points
AusP(p1,p2,p4,p5)
'------------------------------------End Program
'*************************************
The entries in the line pVar are entered by Grafis,
automatically after compiling. The line rCon,
however, contains the assignment for the main
directions. A block with definition of the x values
follows. For the first comment line, it is sufficient to
enter
'- x value definitions
The remaining characters are entered by Grafis
during automatic formatting. The x values are
defined, consecutively in the following lines and
contain no size-specific x values.
After having defined the x values, the first points are
constructed.
p1 = pXY(0,0)
... defines point p1 with the co-ordinates (0,0).
Thus, p1 is the zero of the construction.
p2 = pXY(0,rX(1))
... defines point p2 with the co-ordinates
(0,rX(1)), where rX(1) applies the value of
the first x value. Thus, p1 is positioned upwards by
”raise CB”.
p4 = pPRiLng(p2,rUp,rX(2))
… defines point p4, positioned upwards from p2
with the distance rX(2) –the second x value.
p5 = pPRiLng(p4,rUp,rX(3))
… defines point p5, positioned upwards from p4
with the distance rX(3) –the third x value.
Thus, the points at the CB are available within the
program. They now have to be output to the
screen. The following lines apply
'-------------------- output points
AusP(p1,p2,p4,p5)
This first step should be tested, thoroughly with
,
and
. Only the points of the centre
back will appear on the screen. Measure the
distances between the points and also their coordinates, if necessary. With the right button, you
project via Project | Save.
In the next step, the points of the collar point are
constructed. It is recommended to instruct the
screen output in a block at the end of the program.
Therefore, the next program lines are inserted
directly above ”output points“. All additions
are highlighted.
'*************************************
Program Main()
'------------------------------------lVar
nVar
rVar
pVar p1,p2,p3,p4,p5,p6,p7
sVar
qVar
tVar
cVar
'------------------------------------lCon
nCon
rCon rRi=0,rLe=180,rUp=90,rDo=270
rCon rClLng=150
tCon
'----------------- x value definitions
XTitel("collar band")
Defx(1,"raise CB",35)
Defx(2,"collar fold width",20)
Defx(3,"collar width CB",40)
Defx(4,"collar point(x) to p3",40)
Defx(5,"collar point(y) to p3",45)
Defx(6,"ang neck+foldline in p3",90)
Defx(7,"ang collar edge in p7",80)
318
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Calculate directions and angles
Direction and angle definitions
Directions are required for positioning of points in a
direction and for construction of curves, etc. In the
new programming language, directions are always
defined as real numbers in degrees.
'-------------------- --- points at CB
p1 = pXY(0,0)
p2 = pXY(0,rX(1))
p4 = pPRiLng(p2,rUp,rX(2))
p5 = pPRiLng(p4,rUp,rX(3))
'---------------- corner point p3 (CF)
p3 = pXY(rClLng,0)
p6 = pPRiLng(p3,rRi,rX(4))
p7 = pPRiLng(p6,rUp,rX(5))
'------------ -- output points + lines
AusP(p1,p2,p3,p4,p5,p6,p7)
AusQ(p2+p5)
AusQ(p3+p7)
'------------------------------------End Program
'*************************************
Y
pC (90°)
pB (30°)
pD (165°)
In this example, the collar width is to be fixed. In
section 19.2, the instructions required for automatic
length adjustment of a collar to the neck are
explained. The collar length rClLng is defined as a
constant of 150 mm in line
rCon rClLng=150
Directly above the output of points and lines the
'------------- corner point p3 (CB)
p3 = pXY(rClLng,0)
... defines point p3 with the co-ordinates
(rClLng,0). p3 is positioned to the right of the
zero point at a distance of the collar length.
p6 = pPRiLng(p3,rRi,rX(4))
… defines point p6, positioned to the right of p3 at
a distance of rX(4) –the fourth x value.
p7 = pPRiLng(p6,rUp,rX(5))
… defines point p7, positioned upwards from p6 at
a distance of rX(5) –the fifth x value.
In the line for output of the points, the new points
p3, p6 and p7 were added.
AusP(p1,p2,p3,p4,p5,p6,p7)
With the lines
AusQ(p2+p5)
AusQ(p3+p7)
the centre back is output as a connection between
points p2 and p5 as well as the line at the corner
points between points p3 and p7. With the output
instruction AusQ(), lines and curves can be
allocated for screen output. Instead of variables, the
entry of line or curve functions is also permitted.
Test and check this step with
Save the project.
,
and
.
pA (0°)
p0
pA
pB
pC
pD
pE
=
=
=
=
=
pPRiLng(p0,0,100)
pPRiLng(p0,30,100)
pPRiLng(p0,90,100)
pPRiLng(p0,165,100)
pPRiLng(p0,-60,100)
X
pE (-60° | 300°)
Picture 19-9
The points pA to pE from Picture 19-9 can be
programmed as follows, where the distance to p0 is
to be 100 mm, respectively:
pA = pPRiLng(p0,0,100)
pB = pPRiLng(p0,30,100)
pC = pPRiLng(p0,90,100)
pD = pPRiLng(p0,165,100)
pE = pPRiLng(p0,-60,100)
Instead, a numbers in degrees, real variables can be
entered as parameters.
Calculate directions
A direction can be defined as
• direction from first to second point with
rRiPP(p,p),
• direction of a line rRiS(s),
• direction of a curve in starting or final point
rRiQanf(q) or rRiQend(q) or
• direction of a curve in a curve point
rRiQP(q,p).
From a mathematical point of view, the direction is
identical with a vector. Only when the vector is
linked with a point, a straight line is created.
The direction of a point pB in relation to p0
(Picture 19-9) can be calculated as follows:
rB = rRiPP(p0,pB)
After processing this line, rB has the value 30.
Chapter 19 Programming Language I
319
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Calculate angles
An angle is calculated as
• angle defined by three points with
rWiPPP(p,p,p) (starting, pivot and end
point) or
• angle between two lines rWiSS(s,s).
For the points in Picture 19-9, the functions in the
left column result in the values of the right column.
Function
Result
rWiPPP(pA,p0,pB)
+30
rWiPPP(pB,p0,pA)
-30
rWiPPP(pD,p0,pE)
+135
rWiPPP(pD,p0,pC)
-75
rWiPPP(pE,p0,pA)
+60
The first parameter in rWiPPP(p,p,p) defines
the first side of the angle. The rotation direction
relates to this side (positive or negative rotation
angle).
The same applies to the function rWiSS(s,s),
where the sides of the angle must first be defined as
lines.
The curve variation spline
A curve of the spline variation can run through any
number of fulcrums (base points). In these fulcrums,
directions can be defined for the curve. As on a steel
ruler, the curve is bent so that all conditions can be
fulfilled with as little bending force as possible.
For definition of a spline, a minimum of starting
point and final point must be entered. The simplest
variation with
q1=qSpline(pA,pE)
pA
Construct neck line and collar fold line as
spline with defined directions
The neck line and the collar fold line should be
constructed as splines. The starting point for both
curves is p3. Both curves should start at the angle
x6, relating to the connection of points p3 to p7.
First, calculate the direction from p3 to p7 (Picture
19-11).
p7
rRiPP(p3,p7)
p3
Picture 19-11
The calculated direction is still to be rotated about
the given angle (Picture 19-12).
p7
X6
qSpline(pA,0,pE,0)
p3
qSpline(pA,pE)
pE
pM
qSpline(pA,pM,pE)
Picture 19-10
defines a spline from pA to pE. The spline can take
on any direction in these points and will therefore,
appear as a line (Picture 19-10).
With the instruction line
q2 = qSpline(pA,0,pE,0)
the curve is also forced to run horizontally to the
right in points pA and pE with direction 0°. For a
reversed curve direction the instruction should be
q2 = qSpline(pE,180,pA,180)
Each curve has a direction !
With the instruction line
q3 = qSpline(pA,pM,pE)
a curve through three points is created, where the
directions in the points are not assigned.
p6
Picture 19-12
The following lines generate the result:
rWi3 = rRiPP(p3,p7)
rWi3 = rWi3+rX(6)
q1 = qSpline(p3,rWi3,p2,rLe)
q2 = qSpline(p3,rWi3,p4,rLe)
For the collar edge, it is to be considered that the
angle in p7 is entered as inside the collar. The
direction of the curve in p7 can be calculated either
with
rWi7 = rRiPP(p7,p3)-rX(7)
or with
rWi7 = rRiPP(p3,p7)-180-rX(7)
After
q3 = qSpline(p7,rWi7,p5,rLe)
the collar edge is created but not yet, output to the
screen. The output instruction for the three curves
AusQ(q1,q2,q3)
320
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
The program for the collar band with (as yet) preset collar length is ready:
'*************************************
Program Main()
'------------------------------------lVar
nVar
rVar rWi3,rWi7
pVar p1,p2,p3,p4,p5,p6,p7
sVar
qVar q1,q2,q3
tVar
cVar
'------------------------------------lCon
nCon
rCon rRi=0,rLe=180,rUp=90,rDo=270
rCon rClLng=150
tCon
'----------------- x value definitions
XTitel("collar band")
Defx(1,"raise CB",35)
Defx(2,"collar fold width",20)
Defx(3,"collar width CB",40)
Defx(4,"collar point(x) to p3",40)
Defx(5,"collar point(y) to p3",45)
Defx(6,"ang neck+foldline in p3",90)
Defx(7,"ang collar edge in p7",80)
'----------------------- points at CB
p1 = pXY(0,0)
p2 = pXY(0,rX(1))
p4 = pPRiLng(p2,rUp,rX(2))
p5 = pPRiLng(p4,rUp,rX(3))
'---------------- corner point p3 (CF)
p3 = pXY(rClLng,0)
p6 = pPRiLng(p3,rRi,rX(4))
p7 = pPRiLng(p6,rUp,rX(5))
'--------------------------- neck line
rWi3 = rWiPPP(p6,p3,p7)
rWi3 = rWi3+rX(6)
q1 = qSpline(p3,rWi3,p2,rLe)
q2 = qSpline(p3,rWi3,p4,rLe)
'------------------------- collar edge
rWi7 = rRiPP(p7,p3)-rX(7)
q3 = qSpline(p7,rWi7,p5,rLe)
'---------- ---- output points + lines
AusP(p1,p2,p3,p4,p5,p6,p7)
AusQ(sPP(p2,p5))
AusQ(sPP(p3,p7))
AusQ(q1,q2,q3)
'------------------------------------End Program
'*************************************
19.6 Program: Skirt
The basic block skirt according to Picture 19-13 is to
be programmed with the application of the given x
values. The generation of the program ensues in
four steps. In each step, there are construction steps
(table), a picture, and the program up to the stage
displayed. The steps should initially be developed by
yourself and then, compared with the prepared
program text.
When creating the skirt, you may have the following
questions:
What do I do if an error message appears?
How can I find the relevant function ?
What is to be considered for release of a
program ?
What is to be considered for alterations /
corrections of a program ?
The answers to those questions can be found in the
last section 19.7 of this chapter.
X
1
2
3
4
5
6
7
Definition
skirt length from waist
relocate sided seam to front
raise side seam
dart length front
dart point from hip line in bk
Value
600mm
10mm
10mm
0mm
10mm
90mm
35mm
Picture 19-13
1st step: construct points of the centre back,
centre front and side seam (Picture 19-14)
fro
m
01
01
01
to
02
03
05
directi
on
⇓
⇓
⇐
02
03
02
01
03
04
06
07
08
09
⇐
⇐
⇐
⇐
⇐
distance
G10 (waist to hip)
x1 (skirt length from waist)
G2/2+X2 (half hip girth +
ease)
G2/2+X2
G2/2+X2
½ distance p02⇔p04 + X4
½ distance p02⇔p04 + X4
½ distance p02⇔p04 + X4
'*************************************
Program Main()
'------------------------------------lVar
nVar
rVar rZ
pVar p01,p02,p03,p04,p05,p06,p07,
&
p08,p09
sVar
qVar
tVar
Chapter 19 Programming Language I
321
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
cVar
'------------------------------------lCon
nCon
rCon rRi=0,rUp=90,rLe=180,rDo=270
tCon
'----------------- x value definitions
XTitel("skirt")
Defx(1,"skirt length f. waist",600)
Defx(4,"relocate side seam to ft",0)
Defx(5,"raise side seam",10)
Defx(6,"dart length front",90)
Defx(7,"dart p. f. hip line bk",35)
'------------------------ points at CB
p01 = pXY(0,0)
p02 = pXY(0,-rG(10))
p03 = pXY(0,-rX(1))
'------------------------ points at CF
rZ = rG(2)/2+rX(2)
p05 = pPRiLng(p01,rLe,rZ)
p04 = pPRiLng(p02,rLe,rZ)
p06 = pPRiLng(p03,rLe,rZ)
'----------------- points at side seam
rZ = rAbstPP(p02,p04)/2+rX(4)
p07 = pPRiLng(p02,rLe,rZ)
p08 = pPRiLng(p01,rLe,rZ)
p09 = pPRiLng(p03,rLe,rZ)
'----------------------- output points
AusP(p01,p02,p03,p04,p05,p06,p07,
&
p08,p09)
'------------------------ output lines
AusQ(p01+p03)
AusQ(p03+p06)
AusQ(p06+p05)
AusQ(p04+p02)
AusQ(p05+p01)
AusQ(p08+p09)
'------------------------------------End Program
'*************************************
05
04
06
08
07
09
2nd step: calculate & distribute ease (Pict. 19-15)
ease
Ea=(G2/2+X2)-(G4/2+X4)
portion side seam 3/6 ease
portion skirt back 2/6 ease
portion skirt front 1/6 ease
fro to directi distance
m
on
08 08
X5 (raise side seam)
⇑
08 10
½ * 3/6 * ease
⇒
08 11
½ * 3/6 * ease
⇐
01 12
⇐
½ distance p01⇔p10
12 12
¼*X5 (raise waist)
⇑
12 13
½ * 2/6 * ease
⇒
12 14
½ * 2/6 * ease
⇐
05 15
⇒
2/3 distance p05⇔p11
15 15
½ *X5 (raise waist)
⇑
15 16
½ * 1/6 * ease
⇒
15 17
½ * 1/6 * ease
⇐
17 16
05
15
11
10
08
14 13
12
01
04
07
02
06
09
03
01
02
03
Picture 19-14
Picture 19-15
'*************************************
Program Main()
lVar
nVar
pVar p01,p02,p03,p04,p05,p06,p07,
&
p08,p09,p10,p11,p12,p13,p14,
&
p15,p16,p17
sVar
qVar
tVar
cVar
'-------------------------------------
322
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
lCon
nCon
rCon rRi=0,rUp=90,rLe=180,rDo=270
tCon
'----------------- x value definitions
XTitel("skirt")
Defx(1,"skirt length f. waist",600)
Defx(4,"relocate side seam to ft",0)
Defx(5,"raise side seam",10)
Defx(6,"dart length front",90)
Defx(7,"dart p. f. hip line bk",35)
'------------------------ points at CB
p01 = pXY(0,0)
p02 = pXY(0,-rG(10))
p03 = pXY(0,-rX(1))
'------------------------ points at CF
rZ = rG(2)/2+rX(2)
p05 = pPRiLng(p01,rLe,rZ)
p04 = pPRiLng(p02,rLe,rZ)
p06 = pPRiLng(p03,rLe,rZ)
'----------------- points at side seam
rZ = rAbstPP(p02,p04)/2+rX(4)
p07 = pPRiLng(p02,rLe,rZ)
p08 = pPRiLng(p01,rLe,rZ)
p09 = pPRiLng(p03,rLe,rZ)
'--------------------- distribute ease
rEa = (rG(2)/2+rX(2))
&
-(rG(4)/2+rX(3))
'on half skirt
rSs = 3/6*rEa ‘portion in side seam
rBk = 2/6*rEa
'portion in Bk
rFt = 1/6*rEa
'portion in Ft
'-------==-- reduce side seam at waist
p08 = pPRiLng(p08,rUp,rX(5))
'------------------------- darts in Bk
rZ = rAbstPP(p01,p10)/2
p12 = pPRiLng(p01,rLe,rZ)
p12 = pPRiLng(p12,rUp,rX(5)/4)
p13 = pPRiLng(p12,rRi,rBk/2)
p14 = pPRiLng(p12,rLe,rBk/2)
'------------------------- darts in Ft
rZ = rAbstPP(p11,p05)*2/3
p15 = pPRiLng(p05,rRi,rZ)
p15 = pPRiLng(p15,rUp,rX(5)/2)
p16 = pPRiLng(p15,rRi,rFt/2)
p17 = pPRiLng(p15,rLe,rFt/2)
'----------------------- output points
AusP(p01,p02,p03,p04,p05,p06,p07,
&
p08,p09,p10,p11,p12,p13,p14,
&
p15,p16,p17)
'------------------------ output lines
AusQ(p01+p03)
AusQ(p03+p06)
AusQ(p06+p05)
AusQ(p04+p02)
AusQ(p05+p01)
AusQ(p08+p09)
End Program
'*************************************
3rd step: draw dart lines (Picture 19-16)
fro to directi distance
m
on
12 12a perp. perpendicular from p12 onto
line p02⇔p07
12a 12b
X7
⇑
15 15a
X6
⇓
draw dart lines
17 16
05
15
11
10
08
14 13
12
01
15a
12b
04
07
06
09
12a
02
03
Picture 19-16
'*************************************
Program Main()
'------------------------------------lVar
nVar
pVar p01,p02,p03,p04,p05,p06,p07,
&
p08,p09,p10,p11,p12,p13,p14,
&
p15,p16,p17,p12a,p12b,p15a
sVar sZ
qVar
tVar
cVar
'------------------------------------lCon
nCon
rCon rRi=0,rUp=90,rLe=180,rDo=270
tCon
'----------------- x value definitions
... as before ...
'------------------------- darts in Ft
rZ = rAbstPP(p11,p05)*2/3
p15 = pPRiLng(p05,rRi,rZ)
p15 = pPRiLng(p15,rUp,rX(5)/2)
p16 = pPRiLng(p15,rRi,rFt/2)
p17 = pPRiLng(p15,rLe,rFt/2)
'----------------------- dart point Bk
sZ = sPP(p02,p07)
p12a= pLotPS(p12,sZ)
p12b= pPRiLng(p12a,rUp,rX(7))
'----------------------- dart point Ft
p15a= pPRiLng(p15,rDo,rX(6))
Chapter 19 Programming Language I
323
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
'----------------------- output points
AusP(p01,p02,p03,p04,p05,p06,p07,
&
p08,p09,p10,p11,p12,p13,p14,
&
p15,p16,p17,p12a,p12b,p15a)
'-------------------------output lines
AusQ(p01+p03)
AusQ(p03+p06)
AusQ(p06+p05)
AusQ(p04+p02)
AusQ(p05+p01)
AusQ(p08+p09)
AusQ(p12b+p13)
AusQ(p12b+p14)
AusQ(p15a+p16)
AusQ(p15a+p17)
'------------------------------------End Program
'*************************************
The curve variation circle arc
The curve type circle arc curve is based on
distorted, degenerate circle arcs. One of the main
differences to the curve type spline is that a circle
arc curve has no turning points (Picture 19-17). A
curve shape according to Picture 19-17 can only be
constructed with the curve type spline.
Turning point for
curve curvature
Picture 19-17
For the curve type circle arc curve, three definition
options are available which deliver the same curve
shape if comparable parameters are entered. Circle
arc curves give relatively shallow curves. They are
especially suitable for hip and waist curves. If the
curve shape with one of the circle arc options is
not satisfactory, the only alternative is a curve of
the spline type. The curve in Picture 19-18 was
constructed with one of the three definition options,
respectively.
r0= -50°
p0
qKurve1(p0,p1,p2)
qKurve2(p0,r0,p2,r2)
qKurve3(p0,r0,p2,rRel)
here: rRel=66.7
r2=20°
p2
qKurve1(pS,pD,pE)
The curve is created from pS to pE. The
parameters
• starting point pS,
• direction point pD and
• end point pE are to be entered.
The direction point pD determines the direction of
the curve in pS and pE. In pS the curve has the
direction pS⇒pD and in pE the direction pD⇒pE.
Thus, the curve nestles against the lines pS⇒pD and
pD⇒pE.
qKurve2(pS,rS,pE,rE)
The curve is created from pS to pE. The
parameters
• starting point pS,
• direction in the starting point rS,
• end point pE and
• the direction in the end point rE are to be
entered.
The directions in starting and end point, create the
direction point of the first definition option.
qKurve3(pS,rS,pE,rRel[,rE])
The curve is created from pS to pE. The
parameters
• starting point pS,
• direction in the starting point rS,
• the end point pE,
• a relative value for the curve shape rRel and
• optional, as result value the direction in end
point rE are to be entered.
The direction of the curve in the end point is
calculated from the relative value with the following
rule:
From the end point, a perpendicular is dropped
onto the line starting point with starting direction.
The distance pS⇔direction point (analogous curve
type1) is calculated from rRel/100*distance pS
⇔perpendicular point.
The value rRel, indirectly adjusts the direction in
the end point. The curve shape can thus be altered
very delicately. However, it is unsuitable if particular
directions must be considered in the starting point
and end point.
4th step: draw side seam and waist lines
p1
pLot (perpendicular point from
p2 onto p0⇔p1)
Picture 19-18
For the construction of the side seam, the
construction option “qKurve3“ is applied as the
direction of the side seam at waist is still free. Thus,
the hip curve can be adjusted to the optimum shape
with the parameter rRel. The hip curve in the
front skirt is created with
qSs_ft = qKurve3(p07,rUp,p11,60)
Alter the numeric value 60 in steps of 5 and after
,
(also
with a number of sizes) and
324
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
With mirror at p07⇔p08, the hip curve in the
skirt back is created.
qSs_bk = qSs_ft
Spgl(sPP(p07,p08):qSs_bk)
Before mirroring, it is first switched to the new
curve variable qSs_bk. With
Spgl(sPP(p07,p08):qSs_bk=qSs_ft)
the switch would ensue directly in the mirror
function.
The waist lines are to run at right angle to the side
seam, the darts and the centre front and centre
back, respectively. Before the individual sections of
the waist can be created, the direction of the waist
line in starting and final point must be calculated.
17 16
11
10
14 13
05
01
15a
12b
07
Picture 19-19
The waist line from centre back starts at point p01
in horizontal direction to the left (190°) and ends in
p13 at right angle to the direction p12b⇒p13
(Picture 19-19). The direction is calculated with
rRiPP(p12b,p13) and rotated through 90° in a
mathematically positive direction with +90.
rRi13 = rRiPP(p12b,p13)+90
Then, the waist section from the centre back can be
constructed with
qWa_bk1= qKurve2(p01,rLe,p13,rRi13)
The waist line is to be at right angle to the side
seam. With rRiQend(qSs_bk), the direction in
the end point of the side seam is calculated. +90
rotates the direction again through 90° in
mathematically positive direction. The result is the
required direction of the waist rRi10 in the end
point.
The waist section from the dart in the skirt back to
the side seam can then, be constructed with
qWa_bk2=qKurve2(p14,rRi14,p10,rRi10)
Analogous, the construction of the waist sections in
the front skirt follows.
'*************************************
Program Main()
'------------------------------------lVar
nVar
rVar rZ,rMw,rSn,rHr,rVr,
&
rRi13,rRi14,rRi10,
&
rRi17,rRi16,rRi11
pVar p01,p02,p03,p04,p05,p06,p07,
&
p08,p09,p10,p11,p12,p13,p14,
&
p15,p16,p17,p12a,p12b,p15a
sVar sZ
qVar qSs_ft,qSs_bk,
&
qWa_bk1,qWa_bk2,
&
qWa_ft1,qWa_ft2
tVar
cVar
'------------------------------------lCon
nCon
rCon rRi=0,rUp=90,rLe=180,rDo=270
tCon
'----------------- x value definitions
... as before ...
'----------------------- dart point Ft
p15a= pPRiLng(p15,rDo,rX(6))
'----------- draw and mirror side seam
qSs_ft = qKurve3(p07,rUp,p11,60)
qSs_bk = qSs_ft
Spgl(sPP(p07,p08):qSs_bk)
'--------- draw waist line in skirt bk
rRi13 = rRiPP(p12b,p13)+90
qWa_bk1= qKurve2(p01,rLe,p13,rRi13)
rRi14 = rRiPP(p12b,p14)+90
rRi10 = rRiQend(qSs_bk)+90
qWa_bk2=qKurve2(p14,rRi14,p10,rRi10)
'--------- draw waist line in skirt ft
rRi17 = rRiPP(p15a,p17)+90
qWa_ft1= qKurve2(p05,rRi,p17,rRi17)
rRi16 = rRiPP(p15a,p16)+90
rRi11 = rRiQend(qSs_ft)+90
qWa_ft2=qKurve2(p16,rRi16,p11,rRi11)
'----------------------- output points
AusP(p01,p02,p03,p04,p05,p06,p07,
&
p08,p09,p10,p11,p12,p13,p14,
&
p15,p16,p17,p12a,p12b,p15a)
'------------------------ output lines
AusQ(p01+p03)
AusQ(p03+p06)
AusQ(p06+p05)
AusQ(p04+p02)
AusQ(p05+p01)
AusQ(p08+p09)
AusQ(p12b+p13)
AusQ(p12b+p14)
AusQ(p15a+p16)
AusQ(p15a+p17)
AusQ(qSs_ft,qSs_bk,qWa_ft1,qWa_ft2,
&
qWa_bk1,qWa_bk2)
'------------------------------------End Program
'*************************************
Chapter 19 Programming Language I
325
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
19.7 General guidelines
the value of the variable rRi11 is displayed in
With the instructions and functions introduced so
far, the majority of basic blocks can be translated
into programming language programs. An overview
of all available functions can be found in the Grafis
Help.
How can I find the relevant function?
First, establish the variable type for the result. If a
point is required, only functions beginning with “p“
are relevant, for lines, only the functions with “s“
etc. As a rule, a code for the result type appears in
the name of the function
Code
Wi
Ri
Lng
Tlng
Rlng
Lot
Tang
…
Result type
angle
direction
total length
partial length
relative length
perpendicular
tangent
…
Example
rWiSS(s,s)
rRiPP(p,p)
rLngQ(q)
rTlngSP(s,p)
rRlngSP(s,p)
pLotPS(p,s)
pTangPQ(p,q)
…
followed by the required parameters in capital
letter.
What do I do if an error message appears?
There are two types of errors:
• syntax error = error in the writing convention
(“spelling error“) and
• logical error, which appears during processing
of the program.
Syntax errors are reported during compiling. The
respective line is highlighted and a suggestion is
made. Syntax errors are for example missing
opening / closing brackets, unknown functions or
incorrect parameter types in the functions. Syntax
errors can usually be rectified, quickly.
A logical error occurs, when the program does not
deliver the expected result. Logical errors are
easier to be found, if the program is developed in
small steps and each step is tested, thoroughly
(also in small/large sizes). In this case, the error is
to be found in the last step. For long programs, it is
definitely useful to print and annotate the points,
lines and curves at a particular interval, analogous to
Pictures 19-14, 19-15, 19-16 and 19-19.
A few tips for identifying errors:
• The value of a variable of any type can be
checked with the instruction VList(). With
the instruction line
rRi11 = rRiQend(qSs_ft)+90
VList(rRi11)
or
.
the variable list after
• The line in which a variable has been allocated
with the current value can be found by selecting
the variable in the current line and then
searching for it with
.
• To identify a searched point pW, output a line
from the zero point to the searched point:
AusQ(pXY(0,0)+pW)
• If a point is generated as an intersection between
a circle and a line, output the circle and the line,
temporarily and observe the result, also in
small/large sizes. With a “ ’ “ in front of this
temporary output, the line becomes a comment
line.
• During compiling, a message appears querying
whether undeclared variables are to be declared.
Check for each query whether the variable has
actually been used or whether is has been
“created“ through a typing error.
• After successful compiling, unused variables will
be stated in the message window. In tidy
programming, unused variables are often an
indication of a mix-up.
What is to be considered for release of a
program?
Before releasing a program, it should be checked
whether
• the program runs in all sizes, also extremely
small/ large/ individual sizes without errors,
• all x values are set up, calculated and
commented, correctly. An “addition to the waist
girth“ must not operate as “addition to the half
waist girth“. A positive value for “increase side
seam“ must not lead to the side seam being
reduced,
• only necessary objects (points, lines, curves) are
output. Objects which are not required by the
user should not be output,
• all line lengths are correct. In the skirt
construction of the previous section, for example
the lengths of the side seams in skirt front and
back should be compared and the sum of the
waist lines should be measured, also in other
sizes.
After releasing the program, the program file *.cpr is
to be entered into the call list and an info mask is to
be generated.
326
Chapter 19 Programming Language I
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Furthermore, generate a documentation of the
following content:
• a print-out of the construction in which all
objects are annotated. All used objects should be
output, including auxiliary points and lines not
appearing in the released construction.
• a print-out of the program,
• the program as file and
• a copy of the construction instructions.
What is to be considered for alterations/
corrections of a program ?
Corrections in released programs must be carried
out very circumspect manner, as styles developed
from this program will always fall back on it.
Before any alteration of released programs, the
alteration code must be increased in the project
user interface via Extras | Options! This applies,
especially to alterations for object output.
For explanation, the record principle of Grafis is to
be described at this stage. Each output instruction of
a programming language program transfers objects
(points, lines) to the Grafis record. The objects
obtain Pos-numbers in order of their transfer. The
Pos-number is an identification for the objects in the
Grafis record. The output instruction
AusQ(qHem,qInsideleg,qCrotch)
transfers the hem, the inside leg and the crotch
seam to the Grafis record which will allocate these
lines with the consecutive Pos-Numbers 1, 2 and 3.
If now, a parallel is created to the inside leg seam,
this record step relates to the object with PosNumber 2.
If later on, the instruction is altered in the
programming language program to
AusQ(qInsideleg,qHem,qCrotch)
and a test run is carried out in the style, the parallel
appears at the hem instead of the inside leg. This
alteration will result in errors only in styles which
have been developed from the programming
language program before the alteration.
The objects must always be output in the same
order for identical object types, irrespective of
sizes and x values. Therefore, output instructions
within IF-ENDIF structures should be avoided.
The alteration code should also be increased before
correcting any numbers or formulae. A user of your
program may have already corrected the basic
shape with construction steps. These construction
steps are also carried out in the altered program.
Chapter 20
Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Content
20.1 Subjects for advanced users ......................... 328
20.2 Automatic length adjustment ....................... 334
20.3 Collar neck with minimum as external
function ........................................................ 337
20.4 Shirt collar construction with application of
the external function qClNeck1()................ 339
20.5 Construction component shoulder seam
relocation with replacing Pos-objects.......... 341
With the instructions and functions introduced in
Chapter 19, the majority of basic blocks can be
translated into programming language programs. In
the first section of this chapter, a number of special
programming structures and functions are explored.
Content of the second section is the automatic
length adjustment using a collar as an example;
followed by the application of external functions and
the generation of construction components.
'***************************************************************
Program Main()
'--------------------------------------------------------------' Collar construction with automatic length adjustment
.
'--------------------------------------------------------------nVar n,nNextPos,nT
rVar rZl,rA,rL,rA1,rL1,rA2,rL2
pVar p0,p1,p2,p3,p4,p5
qVar q1,q2,q3,qF,qB,qQqq
cVar cF,cB
'------------------------------------------- x value definitions
XTitel("x values for shirt collar construction")
Defx(1,"direction for collar neck",-45)
Defx(2,"direction for collar stand",-55)
Defx(3,"raise collar",35)
Defx(4,"stand width",15)
Defx(5,"collar width back",45)
Defx(6,"point length",60)
Defx(7,"point height",60)
Defx(8,"direction collar edge curve",-30)
'-------------------------------------- query length of neckline
qF = qKop(pXY(0,0)+pXY(100,0))
' allocate qF
qB = qKop(pXY(0,0)+pXY(50,0))
' allocate qB
cF = cPick(1,4,"Click FRONT neckline !","collar","!",nT)
qF = qCo(cF,"qq")
cB = cPick(2,4,"Click BACK neckline !","collar","!",nT)
qB = qCo(cB,"qq")
'--------------------------------------- calculate target length
rZl= rLngQ(qF)+rLngQ(qB)
If(rZl<=rX(3)) Then
n = nIBox("The collar cannot be constructed !")
Exit Program
End If
'---------------------------- starting adjustment P0 => P1 (=rA)
rA = rZl
'-------------- 0.approximation with construction of collar edge
p0 = pXY(0,0)
p1 = pXY(rA,0)
p2 = pXY(0,rX(3))
q1 = qSpline(p2,0,p1,rX(1))
rL = rLngQ(q1)
! curve length calculation
'-------------------------- automatic length adjustment in cycle
rA1= 0
' allocate function values for 1st approx.
rL1= rX(3)
rA2= rA
rL2= rL
For n = 1,10,1
' maximum 10 approximation steps
rA = rNahInt(rA1,rL1,rA2,rL2,rZl)
' next approximation
p1 = pXY(rA,0)
q1 = qSpline(p2,0,p1,rX(1))
rL = rLngQ(q1)
! curve length calculation
If(rAbs(rL-rZl)<<0.01) Then
! achieved accuracy ?
Exit For
! if YES => quit loop
End If
rA1= rA2 !re-allocate function values for next approximation
rL1= rL2
rA2= rA
rL2= rL
End For
328
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
IF-THEN structure
The IF-THEN structure is a control structure which
carries out calculations or construction steps only, if
a certain condition is fulfilled.
The simple structure is
If (logical term) Then
[instruction]
End If
Only if the logical term is true (has the value True),
are the instructions processed.
The logical term can either be a direct logical
variable
lSwitch=true
If(lSwitch) Then
[instruction]
End If
or the result of a comparison operation between
whole / real numbers or variables.
If(rEa<<0) Then
rBk = 0
rFt = 0
End If
The following comparison operators are permitted
for whole number / real variables:
Character Significance
<<
smaller than
>>
greater than
==
equal
<=
smaller or equal
>=
greater or equal
<>
not equal
For connection of logical variables the following is
permitted:
Character Significance
NOT
“not“
AND
“and“
OR
“or“
If (logical term 1) Then
[instruction 1]
Else If (logical term 2) Then
[instruction 2]
Else
[instruction 3]
End If
The operations “==“ and “<>“ are only suitable
for whole numbers as the numbers are compared
up to the 6th decimal, inclusive.
Example:
For extreme individual sizes, the waist girth may be
greater than the hip girth. In this case, the negative
ease must be added, completely to the side seam.
This case is considered in the program as follows:
'--------------------- distribute ease
rSs = 3/6*rEa 'portion in side seam
rBk = 2/6*rEa
'portion in Bk
rFt = 1/6*rEa
'portion in Ft
If(rEa<<0) Then
rBk = 0
rFt = 0
End If
Within IF-THEN structures, no objects may be
output, as the number of objects, the object type
or the order of the objects may change. Changes
in the object output may lead to errors during
style development. The notes on linking
programming language ⇔ construction record in
the previous chapter apply.
The detailed structure is
If (logical term 1) Then
[instruction 1]
Else If (logical term 2) Then
[instruction 2]
Else If (logical term 3) Then
[instruction 3]
Else
[instruction 4]
End if
Explanations can be found in Picture 20-1. The
“Else If() Then“ queries can follow “If()
Then“ a number of times. “Else“ is only
permitted once before “End If“.
Example:
In a skirt block for individual sizes, the ease is to be
distributed differently, if the ease for half of the skirt
is greater than 40 mm. Enter the following in the
program:
If (logical expression 1) Then
The instruction 1 is only processed if “logical term
1“ is true. The IF-ENDIF structure is quit.
Or If (logical term 2) Then
The instruction 2 is only processed if “logical term
2“ is true and “logical term 1“ was false. The IFENDIF structure is quit.
Otherwise
The instruction 3 is only processed if the previous
queries were false.
End If
Picture 20-1
Chapter 20 Programming Language II
329
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
'--------------------- distribute ease
'
'
rBk portion in Bk
'
rFt portion in Ft
'-------------------------- case rEa<0
If(rEa<<0) Then
rBk = 0
rFt = 0
'------------------------- case rEa<40
Else If(rEa<<40) Then
rBk = 3/6*rEa
rFt = 2/6*rEa
'------------------------ case rEa>=40
Else
rBk = 2/4*rEa
rFt = 1/4*rEa
End If
FOR-NEXT structure
With the FOR-NEXT structure, loops can be
created. The loops begins with
For nLauf = nA,nE,nStep
and ends with
End For
nLauf is the loop variable. During the first run, it
has the value nA. After each run, nLauf is
automatically raised by nStep or reduced if
nStep is negative. The instructions between For
and End For are processed, repeatedly during
each run of the loop.
The loop is only quit when the loop variable has
exceeded the end value or Exit For has been
instructed. The variables nLauf, nA, nE and
nStep must be whole number variables.
The complete structure in an overview is shown in
Picture 20-2.
These program lines check whether one of the x
values x1 to x5 is negative. If one of the values is
negative, the program is immediately aborted with a
message.
Size interpolation
The function rGroInt() carries out a size-related
interpolation. In the previous programming
language, y values were defined for this process.
Size-related interpolation is useful, if a value is to be
altered depending on the current measurement
chart. The same result is achieved through use of
size-related x values. As opposed to the x values,
values calculated with rGroInt() can only be
adjusted in the programming language program. The
values. (S)he cannot alter them.
A size-related value of the real number type can be
defined at any point in the program with the
following instruction:
rCorr1=rGroInt("Size",value
&
[,"Size“,value,])
As parameters, any number of pairs made up from
size and the relevant value can be entered. The
function calculates the value for the current
measurement chart from the value pairs size/value.
Size names must be entered in inverted commas,
where the underscore “_“ indicates a standard size.
It is recommended to enter the sizes in ascending
order. If no value pair is entered for a figure type,
the value of the first entered value pair is applied to
all sizes of the figure type. Please note the following
example:
Value
20
For nLauf = nA,nE,nStep
[instruction]
[Next For]
(next loop run)
[instruction]
[Exit For] (quit loop, immediately)
[instruction]
End For
18
16
14
12
10
Picture 20-2
Example:
'-----------check if x1 to x5 negative
nA=1
nE=5
For nLauf=nA,nE,1
If(rX(nLauf)<<0) Then
t1="The x value x"+tFormat(nLauf)
&
+" is negative !"+tc(13,10)+
&
"The collar cannot be
&
constructed."
nBox= nIBox(t1,31)
Exit Program
End If
End For
38
40
42
44
538 540
542
544
Size
Picture 20-3
A correction value for the figure types normal and
broad hip is to be defined according to Picture 20-3.
The following instruction defines the value r1 as
required:
r1
&
&
= rGroInt("_38",10,"_40",12,
"_42",16,"_44",18,"_538",12,
"_540",14,"_542",17,"_544",19)
330
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
The following overview shows which value the
variable r1 takes on for the respective
measurement chart:
r1
r1
r1
Size
Size
Size
36
8
036
10
536
12
38
10
038
10
538
14
40
12
040
10
540
17
42
16
042
10
542
19
44
18
044
10
544
21
46
20
046
10
546
23
For the figure type narrow hips (pre-fix “0“), no
value was defined. Thus, the variable obtain the
value 10 for all sizes of this figure type.
For individual measurement charts, the value of the
respective reference size (column x value reference
in the size table) is entered. If no reference is
entered in this column, again, the value of the first
value pair applies.
use nIBox for error messages for extreme
The infobox can appear in different display options.
The display option is determined with the optional
whole number parameter nD. The first digit of this
2-digit parameter controls which button is displayed.
The second digit determines the icon in the
window. Picture 20-4 contains an overview of the
display options.
The function value of nIBox indicates the clicked
button. The values of nIBox stand for the following
buttons:
1 - Button “OK“
2 - Button “Yes“
3 - Button “Non“
4 - Button “Ignore“
5 - Button “Repeat“
6 - Button “Quit“
Clicking the button “Abort“ always leads to
immediate abort of the program. It is identical with
Exit Program.
Dialogue functions
In basic blocks or construction components,
information from the Grafis record are often
required. This information can be process
parameters (lengths, distances,...), but also objects
(points, lines). For example, for the collar,
information about the neckline is required; for a
sleeve, information about the armhole. In the new
programming language, a dialogue can be created
which instructs the user of the program to click the
required objects.
For the dialogue with the user, the functions
nIBox()
cPick()
are available.
Example:
Before the construction steps for a mitred corner
are carried out in the programming language, it is
tested, whether the requested lines are suitable for
creation of a corner and are not parallel.
'-------------------- Lines parallel ?
rWi = rWiSS(s1,s2)
t1 ="Lines for corner are almost "+
& "parallel (angle<5°)!"+tC(13,10)+
& "The mitred corner cannot be "+
& "constructed."
t2 = "Error – Construction mitred "+
& "corner"
If(rAbs(rWi)<<5) Then
nMsg= nIBox(t1,t2,21)
Exit Program
Else If(rAbs((rAbs(rWi)-180))<<5) Then
nMsg= nIBox(t1,t2,21)
Exit Program
End If
nIBox()
Infobox builds a window with a note for the user or
which the user can close with Yes/No. In this
window, for example, the user can be told the
reason why a construction cannot run under the
particular conditions. If an x value is assigned with an
extreme value, the user can be warned. The
infobox appears also during grading! As a rule,
Icon:
Buttons:
End/Repeat/Ignore
OK
OK/Abort
Repeat/Abort
Yes/No
Yes/No/Abort
10+
20+
30+
40+
50+
60+
No Icon
+0
10
20
30
40
50
60
If the angle between the lines s1 and s2 is almost
0° or almost 180° (between –5°/5°, 175°/180° or –
175°/-180°), the message according to Picture 20-5
appears and the program is aborted.
Exclamatio Info Icon
n mark
+1
11
21
31
41
51
61
+2
12
22
32
42
52
62
Question
mark
+3
13
23
33
43
53
63
Cross as
Warning sign
+4
14
24
34
44
54
64
Picture 20-4
Chapter 20 Programming Language II
331
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
The parameters for calling
nMsg= nIBox(t1,t2,21)
are:
t1 message text; here: “Lines for corner are
almost parallel ...“
Picture 20-5
t2 title of the infobox; here: “Error –
Construction mitred corner“
21 the number for the display option; here: 21
for the icon exclamation mark and the button
“OK“.
cPick()
With cPick(), analogous to nIBox, a message
appears on the screen which asks the user to click a
point or a line. All information about the clicked
object are gathered in a container and can be taken
out of the container as required.
For collar and sleeve programs, dialogues can be
developed with cPick() in which the user is
guided through clicking the required lines. The use
of z values for transfer of lengths and distances to
the programming language program is not longer
necessary.
Example:
For the calculation of the total length of the
necklines in front and back, the following program
lines are to be entered:
'-------------------- allocate qF, qB
qF = qKop(pXY(0,0)+pXY(100,0))
qB = qKop(pXY(0,0)+pXY(50,0))
'----------------------- click qF, qB
tF ="Click neckline FRONT !"
cF = cPick(1,4,tF,"Collar",nT)
qF = qCo(cF,"qq")
tB ="Click neckline BACK !"
cB = cPick(2,4,tB,"Collar",nT)
qB = qCo(cB,"qq")
'------------- calculate target length
rZl= rLngQ(qF)+rLngQ(qB)
Calling cPick, first fills a container; here: cF and
cB. From this container, the required information is
then, taken with the function qCo.
The parameters of the function cPick() have the
following significance:
cPick(nI,nV,tC,tT,tP,nT)
nI unambiguous identifier; this identifier must
be different for each call of cPick(). Thus,
the different click instructions can be
identified during test run and grading.
nV click variation
1
click point
2
click line/curve fulcrum
4
click line/curve
8
“freehand“ click permitted
The individual variations can be combined
by adding. Thus, nV=3 means clicking of
points and line/curve fulcrums.
tC comment text; With this text, the user is
requested to click.
tT title text for the dialogue box
tP picture/symbol text; permitted are , “!“,
“+“, “i“, “g“ or the complete path to a
bitmap.
nT during call: number of the part in which
clicking is permitted. nT=0 permits clicking
in all parts with a part number <= the
active part.
after call: number of the part which was
clicked.
The following information can be called from the
click container with the following functions. The first
parameter is the variable name of the respective
click container.
nCo(c,"tl") Number of the piece which was
clicked
nCo(c,"nr") Pos-Number of the clicked
object
nCo(c,"ty") Type of the clicked object
(-1: error, 0- digi point, 1- point,
2- line/curve)
lCo(c,"rl") line/curve was clicked on the
right (YES/NO)
lCo(c,"st") click point is line/ curve fulcrum
(YES/NO)
lCo(c,"ri") curve direction in the click point
in degrees
rCo(c,"rln") relative length of the curve in the
click point in %
pCo(c,"pp") click point
qCo(c,"qq") clicked line/curve
Proportion classes
The ease in a basic block can be adjusted via
proportion classes or via x values. Which of the two
options is used or whether both options are mixed,
is decided by the programmer.
If proportion classes are used, the programmer
defines the ease at waist, hip, bust, drop armhole...
per proportion class in the program. If proportion
classes are not used, the user adjusts the ease, later
with x values.
The applicable proportion class is determined in the
size table and transferred as a whole number value
with the function nZKlasse().
332
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
In a programming language program with the
instruction nZkl=nZKlasse(), the variable
nZkl has the following value for the respective
measurement chart during processing:
Size table
value for
nZKlasse()
> 01 e04 ____40_0
4
> 02 e04 ____42_0
4
> 03 e04 ____44_0
4
> 04 c02 ____40_0
2
> 05 g06 ____40_0
6
> 06 i08 ____40_0
8
The programmer determines the amount of ease to
be added to bust, waist ... with the calculation of
nZKlasse. With the instructions
'-------------------------- Bust width
rBu = rG(1)+10*nZKlasse()
'------------------------- Waist width
rWa = rG(4)+13*nZKlasse()
'--------------------------- Hip width
rHi = rG(2)+15*nZKlasse()
'------------------------ Drop armhole
rAh = 2*nZKlasse()
the bust width rBu for half of the garment is
calculated as follows:
Size table
value of
ease
rBu
> 01 e04 ____40_0 920+10*4 +40
> 02 e04 ____42_0 960+10*4 +40
> 03 e04 ____44_0 1000+10*4 +40
> 04 c02 ____40_0 920+10*2 +20
> 05 g06 ____40_0 920+10*6 +60
> 06 i08 ____40_0 920+10*8 +80
Per proportion class, 10 mm ease are added to the
bust, 13 mm ease at the waist, 15 mm ease at the
hip. At the same time, the armhole is dropped by 2
mm per proportion class. With the factors before
nZKlasse(), the programmer determines the
ease per proportion class. If the change of ease is to
be irregular in the different proportion classes, the
IF-ENDIF structure is to be used.
For tight-fitting garments, e.g. swimwear or
sportswear, the calculation can also be
10*nZKlasse()–40. Thus, the measurement in
proportion class a00 is 4cm smaller than the body
measurement.
Circle functions
Circles are treated like curves in the new
programming language. All curve functions can also
be applied to circles. A circle can be created with
the functions
qTeilKr()
qHalbKr()
qVollKr()
As parameters, the centre point of the circle (point
variable) and the radius of the circle (real variable)
are to be entered. Depending on the circle type,
direction assignments follow.
If the circle is required to create an intersection with
a line or another curve, the function qVollKr()
(full circle) should always be used. For creation of
intersections, a direction point must be entered
which points to the required intersection if more
than one option are available. The circle centre is
unsuitable as a direction point.
Example:
In the following example program, each circle
variation is defined and then, output (Picture 20-6).
q3
q1
q2
Picture 20-6
The parameter 45 in the instruction
determines that the symmetry axis of the full circle
(start and end) is the 45° direction.
The parameter –45 in the instruction
determines that the symmetry axis of the semicircle
is the –45° direction.
The parameter 60 and –90 in the instruction
determine that the partial circle starts at 60° and
ends at –90°. The circle is created in a
mathematically positive direction.
'*************************************
Program Main()
' Circle variations
qVar q1,q2,q3
pVar p0
'------------------------ Centre point
p0 = pXY(0,0)
'---------------------- define circles
Chapter 20 Programming Language II
333
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
'------------------------------ Output
AusP(p0)
AusQ(q1,q2,q3)
End Program
'*************************************
External functions
For
more
transparency,
often
required
programming steps can be saved as external
functions. A external function (here: type n) begins
with
Function nXxx([parameter list])
and ends with
End Function
The function name is to be created analogous to a
variable name and is to be assigned with a variable
type. Within the function, the function name is a
variable which can be assigned with a value. This
value is returned after processing of the function.
When calling the function, any number of variables
of different types can be transferred to the function.
The amount of parameters and the parameter type
must be identical in the call of the function and the
function definition. The parameters in the function
call are also returned. External functions can be
saved in their own modules. In the future, special
modules for curves, corners etc. can be developed
which will be made available to other Grafis
programmers as libraries. The structures Program
Main()/ End Program and Function
xXxx()/ End Function must not be
interlocked with one another.
Example:
'*************************************
Program Main()
[instructions]
lIo=lEck(p20,p21,p27,p28,p31)
[instructions]
lIo=lEck(p31,p37,p56,p57,p57a)
[instructions]
End Program
'*************************************
'*************************************
Function lEck(p1,p2,p3,p4,pEck)
' Calculation of the intersection
' of two lines
' The points p1 and p2 create the
' first line,
' the points p3 and p4 create the
' second line.
' The corner point pEck is returned
' as fifth parameter.
' If both lines are almost parallel
' the program is aborted with
' a warning.
' Generated: 10-09-2000 KF
'*************************************
pVar
sVar s1,s2
rVar rWi
tVar t1,t2
nVar nMsg
'------------------------------------lEck= False
s1 = sPP(p1,p2)
s2 = sPP(p3,p4)
'-------------------- lines parallel ?
rWi = rWiSS(s1,s2)
t1 = "Lines for corner are almost "+
& "parallel (angle<5deg) !"+tC(13,10)+
& "The corner cannot be constructed."
t2 = "Error - Construction corner"
If(rAbs(rWi)<<5) Then
nMsg= nIBox(t1,t2,21)
Exit Function
Else If(rAbs((rAbs(rWi)-180))<<5) Then
nMsg= nIBox(t1,t2,21)
Exit Function
End If
pEck= pSchnSS(s1,s2)
lEck= True
End Function
'*************************************
The external function lEck() constructs a corner
point which is defined by four points. The four
points are transferred in the parameter list. The first
and second point and the third and fourth point
create a line, respectively. If the angle between the
two lines smaller than 5°, the program is aborted
with a message. Otherwise, the corner point pEck
is calculated and returned as fifth parameter of the
parameter list of the function. The function can be
called a number of times (here: twice) with different
points each time.
Often, logical functions are programmed which only
end with the value True, if the function has been
processed, correctly. To relocate the shoulder seam
by x6 at the neck and x7 at the armhole, the
function lTranslShoulder() must have the
following structure:
'*************************************
Program Main()
[instructions]
lIs=lTranslShoulder(qNeckF,qNeckB,
&
qArmF,qArmB,rX(6),rX(7))
[instructions]
End Program
'*************************************
'*************************************
Function lTranslShoulder(q1,q2,
&
q3,q4,r1,r2)
' Transformation of q2 to q1 and
' q4 to q3
' relocate end point of q1 by r1
' relocate end point of q3 by r2
' create new curves
' reverse transform new q2 and new q4
'*************************************
lTranslShoulder=False
[instructions]
q1=...
q2=...
q3=...
q4=...
lTranslShoulder=True
End Function
'*************************************
334
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
The new curves of the neck and armhole are
transferred in the parameter list. Before processing
the instruction line
lIs=lTranslShoulder(qNeckF,qNeckB,
&
qArmF,qArmB,rX(6),rX(7))
in Main(), the shoulder seam of the curves
qNeckF, qNeckB, qArmF, qArmB has not
been relocated. After processing the line, the curves
are re-allocated and the shoulder is relocated.
The function
rNahInt(rA1,rIs1,rA2,rIs2,rTarg)
The
function
rNahInt(rA1,rIs1,rA2,
rIs2,rTarg)calculates the probable starting
value from two starting values rA1 and rA2, and the
corresponding result values rIs1 and rIs2, with the
result rTarg.
A mainly linear interdependence between
starting value and result value is assumed
(Picture 20-7).
rIs
rNahInt(rA1,rIs1,rA2,rIs2,rTarg)
The approximation interpolation rNahInt()is
required for automatic length adjustment, e.g. for
collars and sleeves. The collar is to be adjusted to
the neck, the sleeve to the armhole.
For application of length adjustments, the following
procedure applies:
1. Formulate a new, unambiguous construction
instruction with a target length depending on
other construction parameters.
2. Determine a variable construction parameter
rA, which can be altered for adjustment of the
target length rTarg.
3. Allocate a zero approximation. Example: For
rA1=0, the result would be rIs1=0.
4. First development of the construction with a
suitable starting value rA2 for the variable
construction parameter up to actual length
rIs2 and calculation of actual length rIs2.
Depending on the extent, the development steps
can be programmed as a external function.
5. Calculate the new starting value rA with the
function rNahInt().
6. Repeated development of the construction with
the new starting value rA and calculation of the
actual length rIs.
7. Query, whether the target length has been
achieved.
If yes, the construction is continued according to
point
8.
If no, the values of rA2 and rIs2 are switched
to the variables rA1 and rIs1. The variables
rA2 and rIs2 then, obtain the values of rA and
rIs which were last calculated. Then, a new
value is calculated for rA according to point 5.
8. Finish the construction.
rIs1
rTarget
rIs2
?
rA
rA2
rA1
Picture 20-7
In the following collar band construction, the
variable construction parameter is the distance
between p1 and p3.
Example:
For a distance p1⇔p3 of 160mm, the collar neck is
165.8mm long and for 200mm the collar neck is
204.7mm long.
With the allocation
rA1 =160
rIs1 =165.8
rA2 =200
rIs2 =204.7
the required distance p1⇔p3 can be calculated for a
target length of the collar neck of 183mm as follows:
rTarg=183
rA
=rNahInt(rA1,rIs1,rA2,
&
rIs2,rTarg)
This calculation results in a value of 177.6mm for the
distance p1⇔p3. With this value, a collar neck of
182.9mm is obtained. A further calculation with the
values
rA1 =200
rIs1 =204.7
rA2 =177.6
rIs2 =182.9
results in a value of 177.7mm for the distance p1⇔
p3. With this value, the collar neck has the required
length of 183.0mm.
Chapter 20 Programming Language II
335
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Construction: collar band with
automatic
A collar band according to Picture 20-8 is to be
programmed with application of the following x
values:
Step
Value
X Definition
0mm
2 raise CB
p1⇒p2 35mm
3 collar fall width
p2⇒p4 20mm
4 collar width CB
p4⇒p5 40mm
5 collar point (x) to p3
p3⇒p6 40mm
6 collar point (y) to p3
p6⇒p7 45mm
7 factor for the direction p. p1⇒p9 2.6
collar neck dep. on x2
8 direction p. f. collar edge
p1⇒p8 155mm
Construction steps:
from
1
2
4
1
1
1
to
2
4
5
8
9
3
direction
⇑
⇑
⇑
⇑
⇑
⇒
distance
x2 (raise CB)
x3 (collar fall width)
x4 (collar width)
x8 (dir. p. collar edge)
x2*x7
variable distance, so
that «collar neck» =
«neck meas. +x1»
construct and optimise
collar neck
3
6
x5
⇒
6
7
x6
⇑
construct collar fold and
collar edge
All curves are to run into the CB at right angle. The
collar fold and the collar neck have the direction p3
⇒p9 in p3. The collar edge has the direction p7⇒p8
in p7.
p8
p5
p9
p4
p7
p2
p1
p3
p6
Picture 20-8
The program: collar band with automatic length adjustment
'***********************************************************************
Program Main()
' Construction of a collar band after instructions by
' Mrs. Prof. H.Brückner, Berlin
' The user has to click the necklines in the front and back
' The collar is automatically constructed, so that the length of the collar
' neck equals the length of both necklines plus addition x1.
'----------------------------------------------------------------------lVar
nVar n
rVar rWi3,rWi7,rA,rA1,rA2,rIs,rIs1,rIs2,rClLng,rTarg
336
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
pVar p1,p2,p3,p4,p5,p6,p7,p8,p9
sVar
qVar q1,q2,q3,qF,qB
tVar
cVar cF,cB
'----------------------------------------------------------------------lCon
nCon
rCon rRi=0,rLe=180,rUp=90,rDo=270
rCon
tCon
'--------------------------------------------------- x value definitions
XTitel("collar band")
Defx(2,"raise CB",35)
Defx(3,"collar fold width",20)
Defx(4,"collar width CB",40)
Defx(5,"collar point (x) in relation to p3",40)
Defx(6,"collar point (y) in relation to p3",45)
Defx(7,"factor for direction point neck relating to x2",2.6)
Defx(8,"direction point for collar edge",155)
'--------------------------------------------- query length of necklines
cF = cPick(1,4,"Click neckline FRONT !","collar","!",nT)
If (not lCo(cF, "iO")) Then
FEnd(0)
Exit Program
Endif
qF = qCo(cF,"qq")
cB = cPick(2,4,"Click neckline BACK !","collar","!",nT)
If (not lCo(cB, "iO")) Then
FEnd(0)
Exit Program
Endif
qB = qCo(cB,"qq")
rClLng = rLngQ(qF)+rLngQ(qB)
If(rClLng<<rX(2)) Then
n
= nIBox("The necklines are too short !")
Exit Program
End If
'---------------------------------------------------------- points at CB
p1 = pXY(0,0)
p2 = pXY(0,rX(2))
p4 = pPRiLng(p2,rUp,rX(3))
p5 = pPRiLng(p4,rUp,rX(4))
p8 = pPRiLng(p1,rUp,rX(8))
p9 = pPRiLng(p1,rUp,rX(2)*rX(7))
'------------------------------------------- collar neck 0 approximation
rTarg = rClLng+rX(1)
rA = rClLng
p3 = pXY(rA,0)
rWi3= rRiPP(p3,p9)
q1 = qSpline(p3,rWi3,p2,rLe)
rIs= rLngQ(q1)
'-------------------------------------------------- values for 1st approx.
rA1
= 0
rIs1 = 0
rA2
= rA
rIs2 = rIs
'--------------------------------------------------------- autom.approx.
For n = 1,10,1
rA = rNahInt(rA1,rIs1,rA2,rIs2,rTarg)
p3 = pXY(rA,0)
rWi3= rRiPP(p3,p9)
q1 = qSpline(p3,rWi3,p2,rLe)
rIs= rLngQ(q1)
If(rAbs(rIs-rTarg)<<0.01) Then
Exit For
End If
rA1 = rA2
rIs1 = rIs2
rA2 = rA
rIs2 = rIs
End For
'---------------------------------------------------------- collar point
p6 = pPRiLng(p3,rRi,rX(5))
p7 = pPRiLng(p6,rUp,rX(6))
'------------------------------------------------------ collar fold line
q2 = qSpline(p3,rWi3,p4,rLe)
Chapter 20 Programming Language II
337
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
'----------------------------------------------------------- collar edge
rWi7= rRiPP(p7,p8)
q3 = qSpline(p7,rWi7,p5,rLe)
'------------------------------------------------ output points + lines
AusP(p1,p2,p3,p4,p5,p6,p7)
AusQ(p2+p5)
AusQ(p3+p7)
AusQ(q1,q2,q3)
'----------------------------------------------------------------------End Program
'***********************************************************************
20.3 Collar neck with minimum as external function
As basis for various collar developments, a external
function qClNeck1() is to be programmed which
delivers a collar neck (Picture 20-9) of a given
length, considering the following parameters:
• raise centre back
• raise centre front
• additional direction at the CF
• position of minimum in % (from CB)
The next page shows a test environment for the
function qClNeck1(). The actual function
qClNeck1() is shown on the following page. The
function qClNeck1() can also be saved in a new
module, together with further functions for collar
necks of different shapes.
Construction steps function qClNeck1():
from to direction distance
1
2
rCb (raise CB)
⇑
1
4
variable distance,
⇒
This distance is optimised
so that the collar neck
equals the length of rTarg.
1
3
rMin
/100*
variable
⇒
distance
4
5
rCf (raise CF)
⇑
construct and optimise
collar neck
The collar neck is to run into the centre back at
right angle. In point p5 the curve is to have the
direction p3⇒p5 plus the correction rRi5z.
p5
p2
p1
p3
p4
Picture 20-9
'***********************************************************************
Program Main()
' Test environment for development of the function qClNeck1()
'----------------------------------------------------------------------nVar n
rVar rClLng,rTarg
pVar p1,p2,p3,p4,p5
qVar qF,qB,q1
cVar cF,cB
rCon rRi=0,rLe=180,rUp=90,rDo=270
'-------------------------------------------------------------- x values
XTitel("collar neck for shirt collars")
Defx(2,"raise CB",10)
Defx(3,"raise CF",5)
Defx(4,"additional direction collar stand in p5",10)
Defx(5,"position p3 between p1-p4 in %",66)
'-------------------------------------------- query length of necklines
cF = cPick(1,4,"Click neckline FRONT !","collar","!",nT)
If (not lCo(cF, "iO")) Then
FEnd(0)
Exit Program
Endif
qF = qCo(cF,"qq")
338
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
cB = cPick(2,4,"Click neckline BACK !","collar","!",nT)
If (not lCo(cB, "iO")) Then
FEnd(0)
Exit Program
Endif
qB = qCo(cB,"qq")
rClLng = rLngQ(qF)+rLngQ(qB)
If(rClLng<<rX(2)) Then
n
= nIBox("The necklines are too short !")
Exit Program
End If
rTarg= rClLng+rX(1)
'----------------------------------------------------- collar neck line
q1
= qClNeck1(rX(2),rX(3),rX(4),rX(5),rTarg,p1,p2,p3,p4,p5)
'---------------------------------------------------------------- output
AusP(p1,p2,p3,p4,p5)
AusQ(q1)
End Program
'***********************************************************************
'***********************************************************************
Function qClNeck1(rCb,rCf,rRi5z,rMin,rTarg,p1,p2,p3,p4,p5)
' ... calculates the collar neck line which has a minimum at rRi5 %
' between CB and CF. The parameters to be given:
'
rCb - raise CB
'
rCf - raise CF
'
rRi5 - additional direction in p5 (at CF)
'
rMin - position of minimum in percent (from CB)
'
rTarg- target length of the collar neck (incl. add) from CB to CF
' returned are the curve qClNeck1, which starts at CB,
' and the points p1 to p5.
'----------------------------------------------------------------------nVar n
rVar rA,rRi5,rIs,rA1,rIs1,rA2,rIs2
'----------------------------------------------------------------------rCon rRi=0,rLe=180,rUp=90,rDo=270
'---------------------------------------------------------- points at CB
p1
= pXY(0,0)
p2
= pPRiLng(p1,rUp,rCb)
'------------------------------------------------------- 0.approximation
rA
= rTarg
p3
= pPRiLng(p1,rRi,rMin/100*rA)
p4
= pPRiLng(p1,rRi,rA)
p5
= pPRiLng(p4,rUp,rCf)
rRi5 = rRiPP(p3,p5)+rRi5z
qClNeck1 = qSpline(p2,rRi,p3,rRi,p5,rRi5)
rIs = rLngQ(qClNeck1)
'------------------------------------------------- values for 1st approx.
rA1 = 0
rIs1 = 0
rA2 = rA
rIs2 = rIs
'-------------------------------------------------------- autom. approx.
For n = 1,10,1
rA
= rNahInt(rA1,rIs1,rA2,rIs2,rTarg)
p3
= pPRiLng(p1,rRi,rMin/100*rA)
p4
= pPRiLng(p1,rRi,rA)
p5
= pPRiLng(p4,rUp,rCf)
rRi5 = rRiPP(p3,p5)+rRi5z
qClNeck1 = qSpline(p2,rRi,p3,rRi,p5,rRi5)
rIs = rLngQ(qClNeck1)
If(rAbs(rIs-rTarg)<<0.01) Then
Exit For
End If
rA1 = rA2
rIs1 = rIs2
rA2 = rA
rIs2 = rIs
End For
End Function
'***********************************************************************
Chapter 20 Programming Language II
339
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
20.4 Shirt collar construction with application of the external function qClNeck1()
A shirt collar (Picture 20-10) with the following x
values is to be constructed with application of the
external function qClNeck1() from the previous
section.
X Definition
Step
Value
1
0mm
2
raise CB
p1⇒p2 10mm
3
raise CF
p4⇒p5 5mm
4
10°
stand in p5
5
stand width CB
p2⇒p6 25mm
6
collar width CB
p6⇒p7 65mm
7
overlap collar stand
p5⇒p8 20mm
8
reduce stand width at
p8⇒p10 5mm
overlap
9
collar point in x
p4⇒p11 15mm
10 collar point in y
p4⇒p11 10mm
11 direction collar point
10°
12 position p3 between p1- p1⇒p4 66%
p4
Construction steps:
from to
1
2
1
4
direct. distance
x2 (raise CB)
⇑
variable distance, so that
⇒
collar neck = neckline + x1
1
3
x12 /100* variable distance
⇒
4
5
x3 (raise CF)
⇑
construct and optimise collar
neck line
The steps thus far are processed by the external
function qClNeck1(). All following steps are
programmed in the program Main().
2
6
6
5
9
7
8
8
10
4
11
⇑
⇑
collar
neck in
p5
vertical
as
before
⇑
x5
parallel to collar neck
distance x5
end point of parallel
x6 (collar width)
x7 (overlap collar stand)
at
x5-x8 (reduce stand width at
overlap)
x2+x5+x6+x10 (collar point
overlap in y)
11 11
x9 (collar point in x)
⇒
construct collar edge with
direction x11 in p11
All curves are to run into the centre back at right
angle.
Step-by-step guide:
Create the new project “shirt collar“ and open the
new module “collar necks“ in this project with
Module | New.... The module appears in the variable
list under the section “Module“. Clicking, opens the
module. Copy the tested function qClNeck1()
from the previous section into the module “collar
necks“ and compile the new module. Then, select
the main module by clicking on Main.qpr in the
“Module“ section and develop the shirt collar
according to the program instructions on page 16.
For development of a different collar with the same
collar neck line, the module “collar necks“ only has
to be inserted. Thus, the function qClNeck1()
can also be used, there.
p7
p11
p6
p10
p9
p2
p1
p5
p3
p8
p4
Picture 20-10
340
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Content of Module collarnecks.qpr:
'***********************************************************************
Function qClNeck1(rCb,rCf,rRi5z,rMin,rTarg,p1,p2,p3,p4,p5)
' ... calculates the collar neck line, which has a minimum at rRi5 %
' between CB and CF. The parameters to be given:
'
rCb - raise CB
'
rCf - raise CF
'
rRi5 - additional direction in p5 (at CF)
'
rMin - position of minimum in percent (from CB)
'
rTarg- target length for collar neck (incl. add) from CB to CF
' returned are the curve qClNeck1, which starts at CB,
' and the points p1 to p5.
'----------------------------------------------------------------------nVar n
rVar rA,rRi5,rIs,rA1,rIs1,rA2,rIs2
'----------------------------------------------------------------------rCon rRi=0,rLe=180,rUp=90,rDo=270
'---------------------------------------------------------- points at CB
p1
= pXY(0,0)
p2
= pPRiLng(p1,rUp,rCb)
'------------------------------------------------------- 0.approximation
rA
= rTarg
p3
= pPRiLng(p1,rRi,rMin/100*rA)
p4
= pPRiLng(p1,rRi,rA)
p5
= pPRiLng(p4,rUp,rCf)
rRi5 = rRiPP(p3,p5)+rRi5z
qClNeck1 = qSpline(p2,rRi,p3,rRi,p5,rRi5)
rIs = rLngQ(qClNeck1)
'------------------------------------------------- values for 1st approx.
rA1 = 0
rIs1 = 0
rA2 = rA
rIs2 = rIs
'--------------------------------------------------------- autom.approx.
For n = 1,10,1
rA
= rNahInt(rA1,rIs1,rA2,rIs2,rTarg)
p3
= pPRiLng(p1,rRi,rMin/100*rA)
p4
= pPRiLng(p1,rRi,rA)
p5
= pPRiLng(p4,rUp,rCf)
rRi5 = rRiPP(p3,p5)+rRi5z
qClNeck1 = qSpline(p2,rRi,p3,rRi,p5,rRi5)
rIs = rLngQ(qClNeck1)
If(rAbs(rIs-rTarg)<<0.01) Then
Exit For
End If
rA1 = rA2
rIs1 = rIs2
rA2 = rA
rIs2 = rIs
End For
End Function
'***********************************************************************
Content of Module Main.qpr:
'***********************************************************************
Program Main()
' Shirt collar construction with automatic length adjustment
' of the collar neck line to the length of the measured neck
' after instructions by Mrs. Prof. H.Brückner, Berlin
'----------------------------------------------------------------------nVar n
rVar rClLng,rTarg,rRi5,rRi8,rRi11
pVar p1,p2,p3,p4,p5,p6,p9,p7,p8,p10,p11
qVar qF,qB,q1,q2,q3
cVar cF,cB
'----------------------------------------------------------------------rCon rRi=0,rLe=180,rUp=90,rDo=270
'-------------------------------------------------------------- x values
XTitel("shirt collar")
Defx(2,"raise CB",10)
Defx(3,"raise CF",5)
Defx(4,"additional direction collar stand in p5",10)
Defx(5,"collar stand width CB",25)
Chapter 20 Programming Language II
341
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Defx(6,"collar width CB",65)
Defx(7,"overlap collar stand",20)
Defx(8,"reduce stand width at overlap",5)
Defx(9,"collar point overlap in x direction",15)
Defx(10,"collar point overlap in y direction",10)
Defx(11,"direction collar point",10)
Defx(12,"position p3 between p1-p4 in %",66)
'--------------------------------------------- query length of necklines
cF = cPick(1,4,"Click neckline FRONT !","collar","!",nT)
If (not lCo(cF, "iO")) Then
FEnd(0)
Exit Program
Endif
qF = qCo(cF,"qq")
cB = cPick(2,4,"Click neckline BACK !","collar","!",nT)
If (not lCo(cB, "iO")) Then
FEnd(0)
Exit Program
Endif
qB = qCo(cB,"qq")
rClLng = rLngQ(qF)+rLngQ(qB)
If(rClLng<<rX(2)) Then
n
= nIBox("The necklines are too short !")
Exit Program
End If
rTarg = rClLng+rX(1)
'------------------------------------------------------ collar neck line
q1 = qClNeck1(rX(2),rX(3),rX(4),rX(12),rTarg,p1,p2,p3,p4,p5)
'------------------------------------------------------ points p6 to p11
p6 = pPRiLng(p2,rUp,rX(5))
Paral(-rX(5):q2=q1)
p9 = pQend(q2)
p7 = pPRiLng(p6,rUp,rX(6))
rRi5= rRiQend(q1)
p8 = pPRiLng(p5,rRi5,rX(7))
rRi8= rRi5+90
p10 = pPRiLng(p8,rRi8,rX(5)-rX(8))
p11 = pPRiLng(p4,rUp,rX(2)+rX(5)+rX(6)+rX(10))
p11 = pPRiLng(p11,rRi,rX(9))
'----------------------------------------------------------- collar edge
rRi11 = rX(11)
q3 = qSpline(p7,rRi,p11,rRi11)
'---------------------------------------------------------------- output
AusP(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)
AusQ(p2+p7,p9+p11,p5+p8,p8+p10,p10+p9,p9+p5)
AusQ(q1,q2,q3)
End Program
'***********************************************************************
20.5 Construction component shoulder seam relocation with replacing Pos-objects
So far, only new objects were transferred to the
Grafis record. For construction components which
are to be applied to existing objects, it must be
possible to access objects of the Grafis record. This
is possible with the so-called Pos-numbers.
Each object (point, line) of the Grafis record has
an unambiguous Pos-number for identification.
The Pos-number applies within one part and is
automatically entered for each new object. All
construction steps of the Grafis record point to the
respective object via the Pos-number.
The application of Pos-numbers
Existing objects which are to be processed with a
construction component, are identified with the
function cPick(). The Pos-numbers can be
extracted from the click container as whole number
parameters. Example:
cXx=cPick(1,1,tC,tT,tP,nT)
The significance of the parameters is explained on
page 20-5.
The Pos-number of the clicked point is extracted
from this container as follows:
nXx=nCo(cXx,"nr")
A point or a line of the Grafis record is replaced by
entering also the Pos-number of the object to be
replaced for output from the programming language
program. In output instructions with Pos-numbers,
only one object can be output, respectively. The
Pos-numbers can be entered for points, lines and
curves. The Grafis record does not differentiate
between lines and curves; both are regarded as
lines.
AusP(nXx,pXx)
nXx
Pos-number of the point
pXx
point to be output
AusQ(nXx,qXx)
nXx
Pos-number of the line
qXx
line/curve to be output
342
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Application of Pos-numbers in the construction
component “shoulder relocation“
Apart from the application of Pos-numbers, this
example should also clarify:
• The creation of a meaningful dialogue with the
user. First, the user is given the information and
then, is requested to click the required objects.
• The safety of the program has great significance.
The program must later “react“, safely to the
different cases of applications. For the shoulder
relocation, the length of the shoulders is
compared and each corner is checked for gaps
and protruding lines.
• Each construction component should alter the
original objects as little as possible, even though
at first, no negative effects may be recognised.
Therefore, the original orientation of the lines is
reproduced at the end of the construction
component.
• A sufficient comment is necessary. This is
irrespective of the fact, whether subsequent
alterations/corrections are carried out by the
original programmer or another person. When
working with the construction component
shoulder relocation, decide whether the
comment is sufficient for you.
• A picture with point and line annotations
according to Picture 20-11 is also part of each
project. This also applies to a short description
of the procedure.
For the shoulder relocation, objects according to
Picture 20-11 are assumed or prepared.
The programming language program for the
shoulder seam is organised as follows:
¾ create and display info mask for the user. The
q2
q5
q6
q1
q3
q4
Picture 20-11
user is informed about the pre-requisites and the
application options.
¾ The curves are suitably allocated, so that the
program can be tested in the development
environment.
¾ Request the user to click the front neckline. The
Pos-number of the ft neck is saved to nPos1 in
the process.
¾ Request the user to click the front shoulder. The
Pos-number of the ft shoulder is saved to
nPos2 in the process.
¾ With the external function lcurve_orient_all(),
orientate the neckline and shoulder according to
Picture 20-11 check the corner. If no clear
corner is found, abort with a message. Whether
a curve was re-orientated or not, is saved under
the variables lRota1 etc.
¾ Request the user to click the front armhole. The
Pos-number of the ft armhole is saved under
nPos3.
¾ With
the
external
function
lcurve2_orient(), orientate the armhole
line according to Picture 20-11 and check the
corner. If no clear corner is found, abort with a
message.
¾ Request the user to click the back armhole. The
Pos-number of the bk armhole is saved as
nPos4.
¾ Request the user to click the back shoulder. The
Pos-number of the bk shoulder is saved as
nPos5.
¾ With
the
external
function
lcurve_orient_all(),
orientate
the
armhole and shoulder according to Picture 20-11
and check the corner. If no clear corner is found,
abort with a message.
¾ Compare the front and back shoulder and abort
with a message, if necessary.
¾ Request the user to click the back neckline. The
Pos-number of the bk shoulder is saved as
nPos6.
¾ With
the
external
function
lKurve2_orient(), orientate the neckline
according to Picture 20-11 and check the corner.
If no clear corner is found, abort with a message.
Now, the actual transformation steps follow:
¾ Transform back armhole and shoulder to the
¾ Relocate shoulder point at the neck by x1 and at
the armhole by x2.
¾ Allocate the curves, again and reverse the
transformation.
¾ If a curve has been rotated, return it to its
original orientation.
¾ Replace the curves of the construction record
with the new curves. The curves are output onto
the original Pos-numbers.
The complete program Main() with the external
functions
lcurve_orient_all
and
follows.
Chapter 20 Programming Language II
343
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
Content of Module Main.qpr:
'***********************************************************************
Program Main()
'----------------------------------------------------------------------' Construction component relocate shoulder
'---------------------------------------------- Information for the user
' The relocate amount are controlled via x values.
' The construction component requires:
' - shoulder lengths identical in ft and bk
' - straight shoulder lines (no curves) and
' - no gaps between the curves and the shoulder lines.
'----------------------------------- Internal information of the program
' q1: neckline ft, q2: shoulder ft, q3: armhole ft
' q4: armhole bk, q5: shoulder bk, q6: neckline bk
' lRota1 to lRota6 show, whether the curve has be re-orientated.
' At the end of the program, the curves are output in their
' original orientation.
'----------------------------------------------------------------------lVar l,lRota1,lRota2,lRota3,lRota4,lRota5,lRota6
nVar n,nPos1,nPos2,nPos3,nPos4,nPos5,nPos6,nT
rVar r1,r2
pVar pSneck,pSarmh
sVar s1,s2
qVar q1,q2,q3,q4,q5,q6,q1t,q3t
tVar tInfo,t,tGen,tTop,t1
cVar c1,c2,c3,c4,c5,c6
'----------------------------------------------------------------------lCon
nCon
rCon
tCon
'--------------------------------------------------------------- x values
XTitel("Relocate shoulder")
Defx(1,"relocate amount at neckline to ft",10)
Defx(2,"relocate amount at armhole to ft",10)
'--------------------------------------------------- allocate the curves
q1
= qKop(pXY(0,0)+pXY(0,20))
q2
= qKop(pXY(0,20)+pXY(20,20))
q3
= qKop(pXY(20,20)+pXY(20,-20))
q4
= qKop(pXY(30,-20)+pXY(30,20))
q5
= qKop(pXY(30,20)+pXY(50,20))
q6
= qKop(pXY(50,20)+pXY(50,0))
'----------------------------------------------- query and check objects
tGen = "create no clear corner."+tC(13,10)+
&
"Correct the corner and relocate"+tC(13,10)+
&
"the shoulder again !"
tTop = "Relocate shoulder"
'----------------------------------------------------------- neckline ft
tInfo= "Click front neckline !"
nT
= 0
c1
= cPick(1,4,tInfo,tTop,"i",nT)
q1
= qCo(c1,"qq")
'----------------------------------------------------------- shoulder ft
tInfo= "Click front shoulder !"
c2
= cPick(2,4,tInfo,tTop,"i",nT)
q2
= qCo(c2,"qq")
l
= lcurve_orient_all(q1,q2,lRota1,lRota2)
If(Not l) Then
t
= "The ft neckline curve and the ft shoulder"+tC(13,10)+tGen
n
= nIBox(t,"Relocate shoulder",24)
Exit Program
End If
'------------------------------------------ shoulder line straight line?
If(rAbs(rLngQ(q2)-rAbstPP(pQanf(q2),pQend(q2)))>>0.05) Then
t
= "The shoulder line is curved."+tC(13,10)
&
+"This case is not prepared."
n
= nIBox(t,"Relocate shoulder",24)
Exit Program
End If
'------------------------------------------------------------ armhole ft
tInfo= "Click ft armhole !"
c3
= cPick(3,4,tInfo,tTop,"i",nT)
344
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
q3
= qCo(c3,"qq")
l
= lcurve2_orient(q2,q3,lRota3)
If(Not l) Then
t
= "The curves ft shoulder and ft armhole"+tC(13,10)+tGen
n
= nIBox(t,"Relocate shoulder",24)
Exit Program
End If
'------------------------------------------------------------ armhole bk
tInfo= "Click back armhole !"
c4
= cPick(4,4,tInfo,tTop,"i",nT)
q4
= qCo(c4,"qq")
'----------------------------------------------------------- shoulder bk
tInfo= "Click back shoulder !"
c5
= cPick(5,4,tInfo,tTop,"i",nT)
q5
= qCo(c5,"qq")
l
= lcurve_orient_all(q4,q5,lRota4,lRota5)
If(Not l) Then
t
= "The curves bk armhole and back shoulder"+tC(13,10)+tGen
n
= nIBox(t,"Relocate shoulder",24)
Exit Program
End If
'----------------------------------------------- shoulder straight line?
If(rAbs(rLngQ(q5)-rAbstPP(pQanf(q5),pQend(q5)))>>0.05) Then
t
= "The shoulder line is curved."+tC(13,10)
&
+"This case is not prepared."
n
= nIBox(t,"Relocate shoulder",24)
Exit Program
End If
'------------------------------------------------ compare shoulder lines
If(rAbs(rLngQ(q2)-rLngQ(q5))>>0.5) Then
t
= "The shoulder lines in ft and bk"+tC(13,10)
&
+"have different lengths !"
n
= nIBox(t,"Relocate shoulder",24)
Exit Program
End If
'----------------------------------------------------------- neckline bk
tInfo= "Click back neckline !"
c6
= cPick(6,4,tInfo,tTop,"i",nT)
q6
= qCo(c6,"qq")
l
= lcurve2_orient(q5,q6,lRota6)
If(Not l) Then
t
= "The curves bk shoulder and bk neckline"+tC(13,10)+tGen
n
= nIBox(t,"Relocate shoulder",24)
Exit Program
End If
'---------------------------- transform back neckline and armhole curves
s1
= sPP(pQanf(q5),pQend(q5))
s2
= sPP(pQend(q2),pQanf(q2))
DrehTr(s1,s2:q4,q6)
q1t = qKop(q1+q6)
q3t = qKop(q4+q3)
'----------------------------------------------- relocate shoulder point
pSneck = pQend(q1)
pSarmh = pQanf(q3)
pSneck = pQPlng(q1t,pSneck,-rX(1))
pSarmh = pQPlng(q3t,pSarmh,rX(2))
'------------------------------------------------ create all curves again
q1
= qQbisP(q1t,pSneck)
q2
= qKop(pSneck+pSarmh)
q3
= qQabP(q3t,pSarmh)
q4
= qQbisP(q3t,pSarmh)
q5
= qKop(pSarmh+pSneck)
q6
= qQabP(q1t,pSneck)
'------------------------------------------------ reset curves in the bk
DrehTr(s2,s1:q4,q5,q6)
'----------------------------------- rotate curves in original direction
If(lRota1) Then
q1
= -q1
End If
If(lRota2) Then
q2
= -q2
End If
Chapter 20 Programming Language II
345
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
If(lRota3) Then
q3
= -q3
End If
If(lRota4) Then
q4
= -q4
End If
If(lRota5) Then
q5
= -q5
End If
If(lRota6) Then
q6
= -q6
End If
'---------------------------------------------------------------- output
AusQ(nCo(c1,"nr"),q1)
AusQ(nCo(c2,"nr"),q2)
AusQ(nCo(c3,"nr"),q3)
AusQ(nCo(c4,"nr"),q4)
AusQ(nCo(c5,"nr"),q5)
AusQ(nCo(c6,"nr"),q6)
'----------------------------------------------------------------------End Program
'***********************************************************************
'***********************************************************************
Function lcurve_orient_all(q1,q2,lRota1,lRota2)
'----------------------------------------------------------------------' The curves are orientated so that the end point of the first curve
' is positioned, directly at the beginning of the second. If the
' curves were oriented, correctly the function has the value True,
' other wise the value False.
'----------------------------------------------------------------------nVar n
qVar q1t,q2t
pVar pEndq1,pAnfq2
'------------------------------------- query variations, re-orientate curve
lcurve_orient_all= False
For n = 1,4,1
If(n==1) Then
q1t = q1
q2t = q2
lRota1 = False
lRota2 = False
Else If(n==2) Then
q1t = -q1
q2t = q2
lRota1 = True
lRota2 = False
Else If(n==3) Then
q1t = q1
q2t = -q2
lRota1 = False
lRota2 = True
Else If(n==4) Then
q1t = -q1
q2t = -q2
lRota1 = True
lRota2 = True
End If
pEndq1 = pQend(q1t)
pAnfq2 = pQanf(q2t)
If(rAbs(rAbstPP(pEndq1,pAnfq2))<<0.5) Then
lcurve_orient_all= True
q1
= q1t
q2
= q2t
Exit For
End If
End For
End Function
'***********************************************************************
346
Chapter 20 Programming Language II
________________________________________________________________________________________________________________
©Friedrich: Grafis - Textbook, Edition 2012
'***********************************************************************
Function lcurve2_orient(q1,q2,lRota2)
'----------------------------------------------------------------------' The SECOND curve is orientated so that the end point of the first curve
' is positioned, directly at the beginning of the second. If the two
' curves were orientated, correctly the function has the value True,
' other wise it has the value False.
' lRota2 is True, if q2 was rotated.
' q1 is not rotated.
'----------------------------------------------------------------------nVar n
qVar q1t,q2t
pVar pEndq1,pAnfq2
'---------------------------------- query variation, re-orientate curves
lcurve2_orient = False
For n = 1,2,1
If(n==1) Then
q1t = q1
q2t = q2
lRota2 = False
Else If(n==2) Then
q1t = q1
q2t = -q2
lRota2 = True
End If
pEndq1 = pQend(q1t)
pAnfq2 = pQanf(q2t)
If(rAbs(rAbstPP(pEndq1,pAnfq2))<<0.5) Then
lcurve2_orient = True
q1
= q1t
q2
= q2t
Exit For
End If
End For
'----------------------------------------------------------------------End Function
'***********************************************************************
348
Anhang A Neuerungen der Version 11
________________________________________________________________________________________________________________
©Friedrich: Grafis – Hilfe, Ausgabe 2012
Einfüge-Tools werden automatisch Pick-Bilder erzeugt und gespeichert.
Menü Teilearbeit
Teile können nach oben/unten geschoben werden.
Auslage mit Magnet
Siehe Abschnitt 17.7.
Temporäre Gruppenbildung
Siehe Abschnitt 17.6.
Weitere Neuerungen
Neuerungen auf den Karteikarten Material,
Teile und Größen
Interaktive Umgebung
Schleppen über Figurtypen hinweg ist mit einem
neuen Button möglich, siehe Abschnitt 13.3. Nach
dem Setzen eines Stapelpunktes kann optional noch
ein Richtungspunkt gewählt werden.
X-Werte
Der Dialog zum Editieren von X-Werten kann dauerhaft geöffnet bleiben. Im Expertenmodus gibt es
weitere Funktionen, siehe Abschnitt 11.1.
Export Schnittteile und Plotausgabe
Ausblenden von Nahtzugaben oder Nahtlinien, siehe
Abschnitt 15.3.
Export
Beim AAMA/ASTM-Export wird auch Text exportiert. Nahtsymbole werden beachtet.
Import
Import von Lectra IBA/VET-Dateien ist möglich,
siehe Abschnitt 15.8.
Größendialog beim Import
Dieser Dialog wurde komplett überarbeitet und hat
optional eine Merkfunktion, siehe Abschnitt 15.6.
Öffnen von Modellen
Beim Versuch, Lectra MDL-Modelle zu öffnen, wird
der Anwender entsprechend informiert. MDL und
SCB-Dateien können über Datei | Dateioptionen mit
der Anwendung Grafis verknüpft werden.
Anzahl Körpermaße je Maßsystem
Die maximale Anzahl an Körpermaßen je Maßsystem wurde von 99 auf 256 erhöht.
A.2
Neuerungen im Programm GrafisSchnittbild
Für alle Menüs wurde die Button-Darstellung neu
gestaltet und optimiert. Es gibt einen neuen Dialog
zur Steuerung der Cutter-Ausgabe, siehe Abschnitt
18.15.
Neuerungen während des Legens
Teil-in-Teil legen
Teile können in ein anderes Teil gelegt werden,
siehe Abschnitt 17.7.
Teil überlappen
Teile können etwas überlappt ausgelegt werden,
siehe Abschnitt 17.7.
Frei bewegliche Anlegelinien
Siehe Abschnitt 17.6.
Anschießen von Stufenlagengrenzen
Zusätzliche Funktionen im Rapport
Über einen Experten-Schalter können zusätzliche
Optionen für Rapport-Toleranzen oder Nadelstreifenrapport genutzt werden, siehe Abschnitt 18.3.
Bündelrichtung
Die Bündelrichtung wird angezeigt, siehe Abschnitt
18.5. Bei gesetztem Experten-Schalter kann die
Bündel-Richtung gezielt verändert werden.
Weitere Neuerungen
Einlaufwerte-Assistent
Für ein gelegtes Schnittbild können Einlaufwerte
verrechnet werden
Überlappungsbereiche
Anzeige von Überlappungsbereichen, siehe Abschnitt 18.13.
Direkt-Import bei Doppelklick auf ISO, PLO und
DXF
Der Direkt-Import ist aktivierbar über Datei | Dateioptionen.
Neue Plotoptionen
Es gibt neue Beschriftungselemente, siehe Abschnitt
17.9. Entlang dem Schnittbild kann auch ein Lineal
geplottet werden.
Erweiterung der Schnittbild-Kenndaten
A.3
Neuerungen der interaktiven Konstruktionen
Neue Konstruktionen
• Sakko 20 als Nachfolger von Sakko10
• Oberteil 60 Fertigmaß-Oberteil basierend auf
Oberteil 50
• Oberteil 70 Handwerker-Oberteil nach Müller&Sohn-Logik
• Oberteil 80 Damen-Body mit Dehnungsabzügen
• Ärmel 80 mit Dehnungsabzügen
• Slip 10 mit Dehnungsabzügen
• Tool Vorderteil 30 mit Brustabnäher-Verteilung
• Tool Vorderteil 40 mit Brustabnäher-Verteilung
Überarbeitete Konstruktionen
Durch einen Probelauf in den Modellen werden die
überarbeiteten Konstruktionen aktualisiert. In einigen Fällen wird die neue Funktionalität durch Optionen oder Menüeinträge im Kontextmenü der Konstruktion aktiviert. Für eine bessere Transparenz
der konstruktiven Logik wurde die Ausgabe der
```
Similar pages
KOHLER K-9111-2BZ Installation Guide
Cable Collar Kit Specifications
American DJ LTS-2 User's Manual