Professional Documents
Culture Documents
3D Modeling Tool
A collaborative network enabled and desktop CAD software system
SHRI The philosophy of the ATL initiative is not just to ideate innovative solutions
RAMANATHAN but to innovate and productize them as well. A solution which can be realized
RAMANAN in the real world is the solution that we need. AIM, NITI Aayog, has
Mission Director strategically placed these tools to enable and empower students not only to
ATAL INNOVATION design but implement their grassroot innovations. It is thus natural for AIM,
MISSION NITI Aayog to partner with CollabCAD team at National Informatics Centre
NITI Aayog and bring a homegrown 3D Design Software created by and for our fellow
Indians.
AIM, through its curriculum, content and various events and activities is
keeping its teachers, students, parents and mentors engaged in inculcating
an innovative mindset within them. As a part of this, AIM collaborates with
various stakeholders from the Government, Industry and Academia. We are
proud to work closely with MEITY’s NIC - CollabCAD to identify the 3D
Design needs of our audience and bring this module to you.
I congratulate the CollabCAD, NIC and ATL, AIM team members – Dr. Savita
Dawar, Mr. G. Prasad, Ms. Richa Tiwari, Ms. Vishnu Priya Bijapur, Mr.
Saksham Saxena, and Mr. Ronak Jogeshwar who have produced a refined and
easy to use module to learn 3D design using CollabCAD software.
I am sure that our ATL students and teachers will leverage this module to
sharpen their 3D design skills. This module will lay a foundational
understanding of Design and will benefit at all – school, college, vocational
and polytechnic levels. I am sure that I will witness well designed and
engineered prototypes and products in the near future by our ATL
beneficiaries.
Happy Tinkering 😊
(R. Ramanan)
CollabCAD 3D Modeling Tool
Abstract
This e-Book will give an overview on CollabCAD, a ‘Make in India’ 3D CAD Software designed
and developed by National Informatics Centre, New Delhi using open-source software libraries.
This software is a collaborative initiative of Bhabha Atomic Research Centre (BARC), Vikram
Sarabhai Space Centre (VSSC) and National Informatics Centre (NIC). This book is written
primarily for students of Atal Tinkering Labs (ATL) schools registered under Atal Innovation
Mission (AIM) of Niti Aayog, Govt Of India for building CAD models for 3D Printing. This e-book
will be beneficial at school, vocational, polytechnic and college level. Even CAD Professionals will
find this an excellent reference book for understanding CollabCAD commands and
functionalities. It is expected that this book will help all CollabCAD users to have better
understanding of the product and build skills for innovative product designs and engineering
drawings.
Government of India
New Delhi
Contributors
Dr. Savita Dawar
November 2020
Version 1.0
ISBN 978-81-909457-4-5
No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without
the prior written permission of NIC.
Abbreviations
AIM Atal Innovation Mission
ATL Atal Tinkering Labs
CAD Computer Aided Designing
IGES Initial Graphics Exchange Specification for 3D Geometry transfer
MUA Multiuser ZIP for saving CollabCAD Assembly data
MUP Multiuser ZIP for saving CollabCAD Plot (2D Drawing) data
MUZ Multiuser Zip for saving CollabCAD Part data
NIC National Informatics Centre
PLM Product Lifecycle Management IT tools for Enterprise
STEP STandard for Exchange of Product model data of 3D CAD files
STL Stero-Lithography 3D file format for manufacturing and 3D printing
VRML Virtual Reality Markup Language 3D file format
Table of Content
Chapter 1. Introduction ............................................................................................................................ 20
1.1 National Informatics Centre 20
1.2 Atal Innovative Mission (AIM) 20
1.3 AIM- CollabCAD Synergy 21
Chapter 2. About CollabCAD .................................................................................................................... 22
2.1 Introduction 22
2.2 Modeling Philosophy of CollabCAD 22
2.3 Stand-Alone and Client-Server 24
2.4 System Requirements 25
2.5 Installation 25
2.6 Getting Started with CollabCAD 26
Chapter 3. CollabCAD Workspaces and Views.................................................................................... 29
3.1 Introduction 29
3.2 Workspace 29
3.3 Views 32
3.4 3D Canvas Features 34
Chapter 4. Geometry Work Bench - Basic Entities ............................................................................ 38
4.1 Introduction 38
4.2 Point 38
4.3 Line 40
4.4 Arc 44
Chapter 5. 2D Profile and 2D Constraints ............................................................................................ 49
5.1 Introduction 49
5.2 Profile Creation for Solid and Surface modeling 49
5.3 2D Constraints 53
Chapter 6. Curves ....................................................................................................................................... 70
6.1 Introduction 70
6.2 Ellipse 70
6.3 Parabola 72
6.4 Hyperbola 72
6.5 Helix 73
6.6 Spiral 73
6.7 Involute 74
6.8 Bezier 75
6.9 B-Spline 76
6.10 Offset 84
6.11 Trim 85
6.12 Explore 89
Chapter 7. Surface Modeling ................................................................................................................... 91
7.1 Introduction 91
7.2 Basic Plane, Ruled, Cylinder, Conical Surface 91
7.3 B-Spline, Revolution, Offset and Pipe surface 94
7.4 Fillet, Chamfer 106
7.5 Explore 107
Chapter 8. Solid Modeling ..................................................................................................................... 109
8.1 Introduction 109
8.2 Box, Cylinder, Cone, Sphere, Torus, Coil 109
8.3 Slab 120
8.4 Revolution 123
8.5 Sweep 124
8.6 Loft 125
8.7 Boolean Operations (Union / Difference / Intersection / Trim) 126
8.8 Blend/ Chamfer 127
8.9 Solid Pattern 135
8.10 Mechanical Features 137
8.11 Mass Property Analysis 144
Chapter 9. Assembly Design and 3D Constraints ............................................................................ 146
9.1 Introduction 146
9.2 Insert 146
9.3 Mark-Up 148
9.4 3D Constraints 148
Chapter 10. Plot Configurator .............................................................................................................. 155
10.1 Introduction 155
10.2 View 155
List of Figures
Figure 2-1: Main application window of CollabCAD ............................................................................................................... 24
Figure 2-2: Login to CollabCAD Server ........................................................................................................................................ 24
Figure 3-1: Parameters of Section View ...................................................................................................................................... 34
Figure 3-2: Section View of a Solid Model .................................................................................................................................. 34
Figure 3-3: Section View with background curves .................................................................................................................. 34
Figure 3-4: Local and Global Coordinate Systems ................................................................................................................... 36
Figure 4-1: Different parameters for Arc creation .................................................................................................................. 46
Figure 5-1: 2D Horizontal Constraint........................................................................................................................................... 54
Figure 5-2: 2D Vertical Constraint ................................................................................................................................................ 54
Figure 5-3: 2D Collinear Constraint.............................................................................................................................................. 55
Figure 5-4: 2D Co-radial Constraint ............................................................................................................................................. 55
Figure 5-5: Perpendicular Constraint .......................................................................................................................................... 56
Figure 5-6: Perpendicular Constraint - One entity is already constrained ..................................................................... 56
Figure 5-7: Parallel Constraint ....................................................................................................................................................... 57
Figure 5-8: Parallel Constraint - One entity is already constrained .................................................................................. 57
Figure 5-9: Tangent Constraint ...................................................................................................................................................... 58
Figure 5-10: Tangent Constraint - One entity is already constrained............................................................................... 59
Figure 5-11: Concentric Constraint .............................................................................................................................................. 59
Figure 5-12: Concentric Constraint – One entity already constrained ............................................................................. 60
Figure 5-13: Coincident Constraint .............................................................................................................................................. 60
Figure 5-14: Symmetric Constraint .............................................................................................................................................. 62
Figure 5-15: Angular Constraint .................................................................................................................................................... 63
Figure 5-16: Radial Constraint ....................................................................................................................................................... 64
Figure 5-17: Colour Coding – Single Entity ................................................................................................................................ 65
Figure 5-18: Colour Coding: Two Entities - Partially Constrained ..................................................................................... 65
Figure 5-19: Colour Coding: Fully Constrained ........................................................................................................................ 66
Figure 5-20: Constraint modification........................................................................................................................................... 67
Figure 5-21: Parameters while deleting a constraint ............................................................................................................. 67
Figure 5-22: Unconstraint line entity with list of Allowable Constraints ........................................................................ 68
Figure 5-23: Partially Constrained line entity with list of Allowable Constraints ........................................................ 68
Figure 6-1: Parameters of Ellipse creation................................................................................................................................. 71
Figure 6-2: Parameters of Parabola creation ............................................................................................................................ 72
Figure 6-3: Parameters of Hyperbola creation ......................................................................................................................... 72
Figure 6-4: Parameters of Helix creation.................................................................................................................................... 73
Figure 6-5: Parameters of Spiral creation .................................................................................................................................. 74
Figure 6-6: Parameters of Involute creation ............................................................................................................................. 75
Figure 6-7: Interpolation B-spline Curve .................................................................................................................................... 78
Figure 6-8: Parameters for parametric equation ..................................................................................................................... 78
Figure 6-9: Parametric B-spline curve......................................................................................................................................... 79
Figure 6-10: Option to retain curves while concatenating B-Spline curves ................................................................... 81
Figure 6-11: Modifying poles of b-spline curve ........................................................................................................................ 82
Figure 6-12: Removing knot from B-Spline Curve................................................................................................................... 82
Figure 6-13: Modifying B-Spline Curve geometry ................................................................................................................... 83
Figure 6-14: Parameters for curve offset.................................................................................................................................... 84
Figure 6-15: One directional curve offset with sharp cornering ........................................................................................ 84
Figure 6-16: One directional curve offset with smooth cornering ..................................................................................... 84
Figure 6-17: Bi-directional curve offset with Capped Ends ................................................................................................. 85
Figure 6-18: Bi-directional curve offset without Capped Ends ........................................................................................... 85
Figure 6-19: Input curves for curves auto-split operation ................................................................................................... 88
Figure 6-20: Resultant curves after auto-split operation...................................................................................................... 89
Section 1
Modeling using
CollabCAD
Chapter 1. Introduction
2.1 Introduction
CollabCAD is a 3D CAD Software system for collaborative design & development of Industrial
Designs. It is developed on the Linux platform and is available for Windows (7,8,10) and Linux
(Red Hat, Ubuntu and CentOS). CollabCAD is developed using open source software tools such as
Java/Java 3D, Open Cascade geometry kernel and supports open standards of data exchange such
as XML, STEP, IGES, and VRML to ensure interoperability.
CollabCAD facilitates the conventional CAD/CAM capabilities like design, drafting, surface and
solid modeling, feature based modeling, data exchange, scripting etc. Surface models can be
reverse engineered from point cloud digitized data, obtained from raw/scanned data. CollabCAD
also provides reflection line analysis for visual inspection using Zebra Stripes mapping. The
Zebra stripes mapping is a surface evaluation method for checking surface continuity.
CollabCAD also offers other niche features like Bar Code to link the designs to non-CAD utilities
like MRP, Meshing, Creation and linking of databases etc. CollabCAD also provides database
connectivity and a component library framework. It enables the user to create or use a
component library.
Besides the conventional CAD/CAM features, it also provides a collaborative framework for
CAD/CAM professionals to work across a network and concurrently access the same design for
viewing and modification.
• Customization
• Visualization
CollabCAD is based on the "Open Cascade" geometry kernel, which is a 3D kernel. This means, a
point in Open Cascade is a 3D point and so are all the other entities like lines, arcs etc. Therefore,
the basic modeling philosophy followed in CollabCAD is 3D unlike in other solutions where the
start is 2D and then it gets into 3D mode. In view of the above, in CollabCAD one always has the
3D workspace and starts with 3D workspace. In CollabCAD workspace always refers to 3D space.
Work view is a display of any of the 3D spaces such as front, back, top, bottom, right, left,
isometric or any of the user defined views. The name of the work view would be displayed in
black colour in the control panel of CollabCAD.
Work Plane: For each workspace there is a work plane. For a given workspace, the work plane is
parallel to the XT-YT plane of the workspace and at a depth along the ZT axis of the workspace.
The depth of the work plane is 0.0 at the time of definition. Whenever user changes the current
depth, he specifies a new work plane long the ZT-axis of the current workspace. The ZT
coordinate of the current work plane can be read from the control panel of CollabCAD.
When CollabCAD is invoked as Standalone or Client-Server Mode it will prompt the user to
choose the units (in mm or inch), drafting standard (ANSI or IS) and enter part name. On
completion, CollabCAD graphics screen will appear which consists of menu bars, toolbars, status
bar and tool palette for creating the part or model. CollabCAD uses direct three-dimensional
modeling, first the user creates profile (sketch in other software). The profile can be of basic
entities like points, lines, arcs and curves then go for creating the solid using slab, revolution of
solid, sweep solid, loft solid etc.
2.3.2 Client-Server
When user starts the CollabCAD client, it prompts for login. Only valid users can login to
CollabCAD server. CollabCAD has its own user
authentication system. It does not depend upon the OS for
user authentication. Initially when CollabCAD is installed,
the user list is empty. So, one must create this user list for
the CollabCAD server authentication. First time this can
be achieved by starting CollabCAD client and login with
the same name as the login id of the person who has
started the CollabCAD server without any password. Now
this person is the super user and he should add the list of
users to the authentication system using Admin button
from the menu bar. If one does not add users after
starting the CollabCAD client first time, then next time Figure 2-2: Login to CollabCAD Server
onwards others cannot login, only the person whoever had started CollabCAD client first time,
can login and of course he can add, modify or delete users at any time.
Windows: Use Windows user login id with no password.
Linux: Use Linux user login id with no password.
2.5 Installation
2.5.1 Installing CollabCAD on Windows
User must have at least 800 MB of free disk space in the C:\TEMP directory. The installation will
not proceed if this is not available.
The installation would require around 235 MB for "CollabCAD"
To install CollabCAD Server and Application/Client
• Double click the CollabCAD.zip file (To extract the downloaded zip file, any zip extractor can
be used).
• Extract the files in some directory (say C:\temp\disk1).
• Double click on setup.exe from the extracted files (In NT/2000 user should be the
administrator or should have the administrative privilege to install this). (say
c:\temp\disk1\setup.exe)
• Follow the installer instructions. The Installation wizard will guide user through the setup
process. User may refer CollabCAD website for detailed step by step installation.
User must have at least 400 MB free disk space on the /tmp file system to install CollabCAD. The
file size of collabcad_linux.tgz will be around 1.7 GB and the installation would require around 5
GB. After downloading the file, type the following command
tar -xvzf collabcad.tgz
This will install CollabCAD on the system by creating the directory called ‘collabcad’
2.5.3 Configure
CollabCAD supports Java localization and internationalization. By default all texts are displayed
in ENGLISH language, if user like to change the language then modify "ccadcli.LOCALE"
variable in "collabcad_client.properties" file located in
"CollaCAD_installed_directory/config" directory. Languages supported are English,
French, German, Italian, Norwegian and Spanish.
• This will start the CollabCAD application server in a DOS window. Make sure users see
'CollabCAD Application Server Ready' in this window, before launching the CollabCAD
Application/Client.
• To stop the CollabCAD application server, go to the start button on the task bar and follow
the given path
Start ---> Programs ---> CollabCAD --> Stop CollabCAD Server
NOTE: -The above-mentioned path to start or stop the CollabCAD application server will start or
stop the server on the following default argument values:
RMI_Port=1099, DB_host=localhost, DB_port=3333
Please note that improper CollabCAD Server shutdown or stopping the CollabCAD Application
Server by Ctrl-C or directly closing the Dos Window may not start the CollabCAD server next
time. This is because of the ".lock" file present in the \parts directory. This is present as a
safeguard against multiple servers starting from the same location. This file is to be removed
manually.
• After starting the CollabCAD Server, start the CollabCAD Application/Client. To start this,
follow the path
Start ---> Programs ---> CollabCAD --> CollabCAD Client
Once the application comes up, it will prompt for login to CollabCAD server.
NOTE: - Starting the CollabCAD Application/Client by the above-mentioned path will start the
application/client by the default CollabCAD Server hostname and port number (i.e. localhost and
1099 respectively).
If the CollabCAD Server hostname or port number or both values are other than default ones,
user can start the CollabCAD Application/Client on the specific hostname or port number or both
by editing collabcadclient.bat which will be in the directory where CollabCAD is installed.
./collabcad [complete_part_file_path]
If user wishes to start or stop the CollabCAD Application server on the argument values other
than default ones do the following: -
Change the directory to where CollabCAD is installed.
Run the script "collabcad" as follows: -
If the port is already in use please use some other port (e.g. "./collabcad -listen -p
1112") or contact the system administrator for using some other port.
To access CollabCAD application server from remote client systems, follow the below given steps:
-
Add the IP Address and HostName of the Server in the hosts file (/etc/hosts) of Server system
as a root user and restart the network service.
• Start the CollabCAD Application/Client. To start this,
Open a new terminal for client side, run the script "collabcad" (make sure that to change to
CollabCAD directory)
Once the Application comes up, it will prompt for Login to CollabCAD server.
3.1 Introduction
A workspace is a right-handed orthogonal reference space in which the entities can be defined.
For each new workspace, user assigns 'View Name'. The user can define any number of
workspaces per part.
3.2 Workspace
3.2.1 Define Workspace
With this option, user can define a new workspace. For each new Workspace, user assigns 'View
Name'. User can define any number of workspaces per part. This menu provides the following
different methods for creating a workspace.
selects a line or surface/solid edge near one of its end points for defining the XT-axis. The end
point chosen determines the positive direction of the XT-axis. The system internally verifies the
normal of the plane/face and lines/edges and will not allow the selection if the both are parallel.
The user responds to the following prompts:
• Select Surface or Solid plane
• Select a line at one end for positive X direction
• Specify the Origin point.
3.2.1.10 Rotate
With this choice, user can define a new workspace by selecting an existing workspace and
rotating it about a line or axis. The user responds to the following prompts:
• Select workspace
• Rotation about
• Rotation angle
3.3 Views
The options in this menu refer to the view management of the opened part. Working plane is
always the same as view. This means, as the view changes, working plane also gets changed to
the same as the view. The names of currently active views (Front, Front-Top, or Multiple) are
displayed in the status bar.
3.3.1 Front
The "Front" menu item changes the view of part to Front View. Front view is the default view of
a newly opened part. Working plane is X-Y plane in Front View.
3.3.2 Right
The "Right" menu item changes the view of part to Right View. The working plane of the part is
also changed to Right Working plane, i.e., Y-Z plane.
3.3.3 Top
The "Top" menu item changes the view of part to Top View. The working plane of the part is also
changed to Top Working plane, i.e., Z-X plane.
3.3.4 Isometric
The "Isometric" menu item changes the view of part in Iso View. The working plane of the part
is also changed to Iso Working plane, i.e., a plane that makes equal angles with X, Y, and Z axis.
This option displays the Front and Top views horizontally (above and below respectively).
However, the user can specifically activate a particular view in this Display mode by selecting the
view listed in the combo box.
3.4.1.2 Region
This option zooms the selected region so that it fits within the view.
3.4.1.5 Ratio
This option scales the view by the given ratio.
3.4.2 Pan
3.4.2.1 Screen Position
This option pans the view between the selected points.
3.4.2.2 Delta
This option pans the view along the given distance.
3.4.6.1 Facets:
In this mode, only the facets are rendered during shading.
system. The X-axis will point right along the section horizontal, while the Y-axis will point up
along the section vertical. The Z-axis is created using the right-hand rule.
3.4.9.1 View
Select the View where depth is to be applied.
3.4.9.2 Input
Select the mode of input of depth value.
• Absolute Value: User shall enter the Absolute value of Depth
• Relative Value: User shall enter the Relative value of Depth
• Select Point: User shall Select a Point at the desired Depth
3.4.9.3 Depth
Enter the Depth Value (for Absolute and Relative Inputs).
3.4.10 Layer
3.4.10.1 Create Layer
Using this option, the user can create a new layer. On invoking this menu, a dialogue box would
appear through which the user can enter the name of the new layer.
4.1 Introduction
The system supports a variety of basic geometric entities like Point, Line, Arc, Rectangle and
Polyline. Easy-to-use interfaces are provided for creation of each of these entities. The following
basic entities are currently supported in system.
• Point
• Line
• Arc
• Rectangle
• Polygon
• Profile
• Sketch
4.2 Point
Point entity can be created in following different methods.
4.2.3 Mid-Point
This menu allows creation of a new Point at the mid-point of two-point positions specified on the
canvas. On invocation, the user would be prompted to specify the first and the second point
positions. The new Point would be created at the mid-point of the two specified point positions.
Error messages:
If the projected point is not created, the system displays an error message box:
Remote Exception
Projection of point failed
4.2.6 Intersect
With this choice, user can create a point by intersecting two curves. The system prompts the
following messages for the user.
Specify First curve - Use the mouse to select an existing curve.
Specify Second curve - Select a second existing curve.
The system displays in the message panel, the number of intersections found.
Error messages:
4.2.8 Polar
With this choice, user can create a new point by specifying the Polar co-ordinates with respect to
a given point.
The system prompts the following messages for the user.
Specify Base Point - Use the mouse to select an existing point.
A Dialog box is displayed - The user can enter the Distance and Angle of the required point with
respect to the clicked point and local X axis respectively. When OK is clicked, the point is created.
4.2.9 Incremental
With this choice, user can create a new point by specifying an increment with respect to a given
point in the local XYZ axis.
The system prompts the following messages for the user.
Specify Base Point - Use the mouse to select an existing point.
A Dialog box is displayed - The user can enter the increment of the required point with respect
to the clicked point in the local XYZ axis. When OK is clicked, the point is created.
4.2.10 On Curve
With this choice, user can create number of point(s) on any curve. The system prompts a dialog
box for entering Number of points/Distance/Both. As per the choice, points are created on the
curve.
Number of points: In this case, points are distributed uniformly (all the points will be equally
distant).
Distance: In this case, the total length of the curve is divided by the length given by the user and
the result would be the no. of points to be drawn on the curve. If the given distance is greater
than the length of the curve, only the 'start point' is displayed.
Both: In this case, both distance and no. of points are considered for the creation of points on the
curve. Whenever calculated length (Distance * No of Points) exceeds the total length of the curve,
it prompts an error message "Points can't be created". Otherwise, it displays the given no. of
points on the curve at a given distance.
4.3 Line
Lines can be created by the following different methods
this stage, the user can see the 'Length' and 'Theeta' made by the mouse moved point in the Local
view in the right corner of Message Panel. The Line creation is a continuous operation and the
end point of the previous line is taken as the start point of the next segment. This process
continues until ENTER, ESC key is pressed, or Mouse is Double clicked (two clicks in quick
succession made at the same point) If the user presses 'P' or 'T' a separate Input box with current
values will appear to take the data in each case. After pressing OK, a Line will be created with the
given parameters. Or, If the user chooses to click in the drawing area he can do so. Once the end
point is clicked, a line will be created connecting the start and the end point and displayed. The
Point marker created at the start point also will be erased. This method can also be invoked from
the Tool Bar.
Error Message:
• Point on curve: - The clicked point for start of line lies on the curve
distance of the Line through the keyboard input. Option generates a line parallel to the selected
line.
(If clicked Point is between the end Points of Line - length of Line equals the selected line if
clicked Point is not between the end Points of Line - Line is extended till the clicked Point.)
Error Messages: -
Error Messages: -
Error Messages: -
Error Messages: -
Error Messages: -
Error Messages: -
• Point not in plane: - the clicked point is not in the plane of the selected Arc.
• No Tangent found: - There exists no solution between the selected Arc & the point.
• Indicate Point outside Arc: - The clicked point lies inside the selected Arc, which is not
allowed.
Error Messages: -
• Curves not in same plane: - The selected Arcs are not in same plane; hence no solution exists.
• No tangency found: - there exist no solution between the selected Arcs.
4.3.12 Polar
The user is first prompted to specify base point of the Polar line. Then, the user will be asked to
"Specify the end point of the line (Press 'P' to input Polar Co-ordinates)". If the user presses 'P',
an Input box will appear to take the Polar Co-ordinates. At this stage, the user can see the Polar
Co-ordinates (r, theeta) made by the mouse moved point in the Local view in the right corner of
Message Panel. After the user presses OK a Line will be formed between the base point and the
polar point formed by the given parameters. The user can also choose to click the end point in
the drawing area. Option generates a line between the base point and the polar point formed.
4.3.13 Incremental
The user is first prompted to specify base point of the Incremental line. Then, the user will be
asked to "Specify the end point of the line (Press 'T' to input Delta values dx, dy, dz)". If the user
presses 'T', an Input box will appear to take the Delta values. At this stage, the user can see the
Delta values (dx, dy, dz) made by the mouse moved point in the Local view in the right corner of
Message Panel. After the user presses OK a Line will be formed between the base point and the
Increment point formed by the given parameters. The user can also choose to click the end point
in the drawing area. Option generates a line between the base point and the polar point formed.
4.4 Arc
Arcs can be created by following different methods.
Error Messages: -
successful input, an arc will be created from the Start Point to the End Point and Tangential to
the line between Start Point and the Clicked Point at Start Point.
Error Messages: -
Error Messages: -
Error Messages: -
Error Messages: -
Error Messages: -
Error Messages: -
5.1 Introduction
A Profile/Polyline is a set of lines and arcs, connected end-to-end which will be either closed or
open. The end point of one line is the start point of the next line.
L Parallel/Perpendicular/Tangent Line
M Reference Line (Construction Line)
N Non-Tangent Arc
P Focus Point
Q Snap Point
T Keyboard Input
U Unconstraint
segment will start from that point. The user will be simultaneously prompted to "Indicate Next
Point", where a third point can be indicated.
While in the Arc creation mode the following features are available in CollabCAD.
• Pressing A for the very first time will change the sketch mode from Line to Arc and sets the
default direction for arc creation. Pressing another "A" will toggle the direction for arc
creation.
• An Arc will be drawn starting from the last clicked point to the current mouse position
tangential to the last line.
• If the last segment drawn is an Arc the currently drawn arc will be created tangential to the
previous Arc, tangent at the end point of the last Arc.
• In the Arc creation mode, Pressing Q and clicking will select the end point of the currently
drawn Arc as the nearest point if the mouse is near any end point of reference entities.
• In the Arc creation mode, if the currently drawn arc becomes a semi-circle it is highlighted
in yellow colour and the user can create a semi-circular arc.
• Pressing N will display a dialog box to accept the Radius of Non-Tangent arc. The default
value of Radius displayed is that of currently drawn tangent arc segment. Then during mouse
move all possible non-tangent arc solutions will be displayed in different colour.
• Mouse Point within Arc Area: 4 possible arc segments (with 2 different centers) will be
displayed in 4 different colours. Then the user is prompted to press N and select one arc by
clicking closer to the center of the arc. Then the user can see only 1 of 2 possible arc segments
depending on mouse position. Then the user is prompted to click to create desired non -
tangent arc.
• Mouse Point outside of Arc Area: Only one of two possible Semi-Circles will be displayed
depending on mouse position. Then the user is prompted to click to create the desired non-
tangent arc.
• If the previous entity was a line, a perpendicular line will be displayed through end point of
the line, if that line became perpendicular to any of the currently drawn arc.
• Pressing T will display a dialog box to accept the Radius and Sweep Angle of the arc segment,
and the currently drawn arc segment with these parameters can be created by the user. The
default values of the Radius and Sweep Angle displayed are that of the currently drawn arc
segment. A Check box is available for the user to choose between setting the Sweep angle to
a fixed value by key in input or by using the mouse to fix the end of the arc. Sweep Angle is
the subtended angle made by both the end points of the arc at the center.
Each of the Keyboard interrupts is valid till the next mouse click only. For example, if A is pressed
to create an Arc, the next segment after the Arc is created will be a line. If the user wants to draw
another Arc, user has to press A again.
Once this point also is clicked in the drawing area, a line will be created connecting the previous
point and this point. The Point Marker will shift to the second point, indicating that the next line
segment will start from that point. The user will be simultaneously prompted to "Indicate Next
Point", where a third point can be indicated.
If the line/arc segment created is more than one, then it will prompt the user "Indicate Next point.
Press C to close", Pressing C will draw a line(which closes) between a previous point and the very
first point or otherwise clicking in the drawing area will create a line connecting the previous
and this point or carriage return will complete the polyline which will be open. When the user
presses 'enter' or "C" the Polyline is completed, and a Profile is created as a group of all the Lines
and Arcs. And again, it will prompt for "Indicate Next point". This process will continue until the
user select any another operation.
5.2.2 Un-Group
With the Un-Group, the profile entities within the selected groups can be disassociated from that
group, and the entities can be individually selected/operated.
5.2.3 Select
By this option the user can create a Profile by selecting existing entities (Lines, Arcs and Profiles)
which are joined end to end (continuous). If the user selects non-continuous entities, then the
user is prompted with an error message.
5.2.4 Dimension
The user can select any segment of the Profile for creating an Associative Dimension and then
modify it.
• The System prompts for ' Indicate Dimension Reference' The user can select any segment of
the profile
• Then the System prompts ' Indicate Text Position The user can click at the position where
the dimension is to be placed.
On creating Dimensions, the user effectively Constraints the profile. Fixed Length Constraints are
set for the dimensioned Line Segments. Fixed Radius Constraints are set for the dimensioned Arc
Segments. If a segment of the profile is already dimensioned, the system does not allow it to be
dimensioned again. A message is displayed indicating 'Dimension already exists for this
segment'.
5.3 2D Constraints
5.3.1 Types of 2D Constraints
The following types of 2 Dimensional Constraints are implemented in Part Mode.
• Horizontal
• Vertical
• Collinear
• Co-radial
• Perpendicular
• Parallel
• Parallel with Distance
• Tangent
• Concentric
• Coincident
• Equal Length/Radius
• Symmetric
• Fix
• Ratio
• Angular
• Linear
• Radial
• Distance
• Colour Coding
Following error messages might come while applying Constraints:
• Conflict Constraint already exists: If an entity is constrained and we try to apply a conflicting
constraint on it.
• Constraint already exists: If we try to apply the same constraint on an entity more than once.
Select the line and then press enter. This Constraint makes the selected line Parallel to the X -
axis. When the constraints are applied then message " Defined 2D Constraint with Line" will be
displayed in status bar.
Before After
When the constraints are applied then message " Defined 2D Constraint with Line" will be
displayed in status bar.
Collinear constraint aligns second entity such that both entities are Collinear. When the
constraints are applied then message " Defined 2D Constraint with Entity1 and Entity 2" will be
displayed in status bar. If the second selected entity already has a constraint which will not allow
the entity to move and the first entity is free to move, then it aligns first entity such that the first
entity becomes Collinear with the second entity.
Before After
Perpendicular constraint aligns second entity such that both entities becomes perpendicular to
each other.
Before After
When the constraints are applied then message " Defined 2D Constraint with Entity1 and Entity
2" will be displayed in status bar. If the second selected entity already has a constraint which will
not allow the entity to move and the first entity is free to move, then it aligns first entity such that
the first entity becomes perpendicular with the second entity. In figure Line A is already having
Fixed constrained, so the Line C which will be moved to make the lines Perpendicular.
Parallel constraint aligns second entity such that both entities becomes parallel to each other. When
the constraint is applied then message " Defined 2D Constraint with Entity1 and Entity 2" will be
displayed in status bar. If the second selected entity already has a constraint which will not allow
the entity to move and the first entity is free to move, then it aligns first entity such that the first
entity becomes parallel with the second entity.
Before After
In figure Line A is already constrained, so Line C which will be moved to make the lines parallel.
Tangent constraint aligns second entity such that both entities becomes Tangent to each other.
When the constraint is applied then message " Defined 2D Constraint with Entity1 and Entity 2"
will be displayed in status bar. If the second selected entity already has a constraint which will
not allow the entity to move and the first entity is free to move, then it aligns first entity such that
the first entity becomes Tangent with the second entity.
Before After
In the Figure Circle C is fixed and Circle A which is already constrained will be moving towards
Circle C with all its constrained entities (Circle B).
Concentric constraint aligns second entity such that both entities are Concentric. When the
constraint is applied then message " Defined 2D Constraint with Entity1 and Entity 2" will be
displayed in status bar.
Before After
If the second selected entity already has a constraint which will not allow the entity to move and
the first entity is free to move, then it aligns first entity such that the first entity becomes
Concentric with the second entity. In the figure Arc C is already fixed so Arc A and Arc B will be
moved towards Arc C.
Coincidence constraint aligns second entity such that both entities are coincident. When the
constraint is applied then message " Defined 2D Constraint with Entity1 and Entity 2" will be
displayed in status bar.
Before After
The first selected entity is used as reference. The Symmetry constraint modifies the second
selected entity in such a way that the two entities will become Symmetric about the Center Line
with the second entity retaining all the properties from the first entity. When the constraint is
applied then message " Defined 2D Constraint with entity1 and entity 2" will be displayed in
status bar. If the second selected entity already has a constraint which will not allow the entity
to move and the first entity is free to modify, then it aligns the first entity such that it is similar
in dimensions to the Second entity.
5.3.3 Modify
Constraint Value can be modified by following ways.
5.3.3.1 By Entity
Select the entity and chooses which constraint is to be modified. The entity changes according to
the value specified by the user. When user chooses Constraints --> Modify 2D Constraint value,
the Status bar display messages: Select entity.
It prompts a new dialog box with list of constraints that entity has. Select the required constraint
entity and modify the value.
5.3.3.2 By Dimension
Here the constraint value is changed, and the entity reshapes accordingly. For example, if a user
uses Parallel with Distance constraint to specify the distance between two lines and list the
constraints on the canvas then he can change the value of the list constraint and the entity
changes accordingly.
User select entity, a message dialog box will be displayed with the names of the relations that are
applied on the selected entity. If there are no relations on the selected entity, message
'Unconstrained' will be displayed.
Example: In Figure, Parallel with distance constraint is shown in blue markings. Select Modify 2D
Constraint value and click at an entity, a message dialog box will appear, select the constraint
from pop-up under heading 'Select constraint' and click ok. Enter the desired value in Text field
shown in CAD canvas and entity modified accordingly.
Note: '2D Constraint value' can also be done using Toolbar icon 'Modify'. User can Modify
constraint of an entity using tree panel. Go to Tree Panel, click at '2D Constraints', again click at
a node and right click the constraint leads to option 'Modify', selecting same would give
appropriate result.
Not all constraints can be modified. Constraint with dimensions only can be modified. Parallel
with distance, Linear, Distance, Radial, Angle, Ratio are the modifiable constraints.
5.3.4 Delete
5.3.4.1 On Selected Entities
If the user clicks on Constraints -> Delete Constraints ->
On Selected Entity menu, the system prompts the
following messages: Select the Entity
When user selects an entity, then a dialog box will be
displayed with the names of the relations applied on the
selected entity. User can select the relation for the
deletion. If the user selects "All constraints" checkbox, Figure 5-21: Parameters while deleting a
constraint
then all the constraints present on the selected entity will
be deleted. If the user deleted X relation, then message "Deleted X relation" will be displayed in
status bar. If user clicks on the Delete All relations checkbox then "Deleted all Relations of the
selected entity" will be displayed in status bar.
Note: User can Delete constraint of an entity using tree panel. Go to Tree Panel, click at '2D
Constraints', again click at a node and right click the constraint leads to option 'Delete Relation',
selecting same would give appropriate result.
5.3.7 Symbols
5.3.7.1 Display
When a user clicks on Display Symbol menu, the system prompts the following message: Select
entity and Press enter. A message dialog box will be displayed. The user can select the required
constraint/constraints. When user clicks on OK button, the selected constraint symbols are
displayed.
5.3.7.2 Hide
When a user clicks on Hide Symbol menu, the system prompts the following messages: Select the
entity/Symbol. Selection of the entity would hide all the symbols applied on that entity and
selection of the symbol would hide that symbol from the Canvas.
Note: User can Blank / Un-Blanked constraint of an entity using tree panel. Go to Tree Panel, click
at '2D Constraints', again click at a node and right click the constraint leads to options like 'Blank
/ Un-blank', selecting same would give appropriate result.
Chapter 6. Curves
6.1 Introduction
CollabCAD supports a variety of 2D/3D curve entities. Easy-to-use interfaces are provided for
creation of each of these entities. An entity can be created using any of the following methods.
• Using the mouse by invoking the operation from the Tool Bar: In this method, the inputs
required for creation of the entity is provided by clicking the mouse in the drawing area.
When the required number of inputs are given the entity will be created and displayed. The
user will be in the entity creation mode until another operation is selected.
• Using the keyboard by invoking the operation from the Menu Bar: When this method is
invoked a dialog box will appear in which the user can enter various parameters related to
the given entity. When the OK button is pressed after entering the inputs, the dialog box
disappears for a moment and the entity is displayed. The dialog box will then re-appear, and
the user can create another entity or press the Cancel button to terminate the entity creation
process.
The following curve entities creation and editing operations are currently supported.
• Ellipse
• Parabola
• Hyperbola
• Helix
• Spiral
• Involute
• Bezier
• B-Spline
• Offset
• Trim
• Explore
6.2 Ellipse
Ellipse can be created in following methods.
6.2.4 Rectangle
With this option, users can create an ellipse with reference to a rectangle. On invoking the
operation, the system would prompt for a rectangular profile or a set of lines forming a rectangle.
On successful selection, an ellipse would be created with reference to the selected entities.
6.2.5 Key-In
On invoking the operation from menu bar, a dialog box will be displayed for the user to enter the
co-ordinates of the center of ellipse and the major and minor radii. Further it asks for the start
angle and the end angle of the ellipse. These are the angles at which the ellipse should start and
end with respect to the positive X axis. User provides the angle of rotation of the ellipse with
respect to the positive X axis. Once all the inputs are correctly given the ellipse (or elliptical arc)
will be created and displayed.
The user can select the view in which the ellipse is to be created.
6.3 Parabola
Parabola can be created only by using key board input. On invoking the operation from menu
bar, a dialog box will be displayed for the user to enter the co-ordinates of the center of parabola
and the focal length. It also asks for start point and end point of the parabola. User also provides
an angle of rotation of the parabola with respect to the positive X axis. Once all the inputs are
correctly given the parabola will be created and displayed.The user can select the view in which
the Parabola is to be created.
6.4 Hyperbola
Hyperbola can be created only by using key board input. On invoking the operation from menu
bar, a dialog box will be displayed for the user to enter the co-ordinates of the center of hyperbola
and the major and minor radii. Further it asks for the start angle and the end angle of the
hyperbola. These are the angles at which the Hyperbola should start and end with respect to the
Positive X axis. Besides, the user has to provide the angle of rotation of the Hyperbola with
respect to the Positive X axis. Once all the inputs are correctly given the hyperbola (or hyperbolic
arc) will be created and displayed. The user can select the View in which the hyperbola is to be
created.
6.5 Helix
Helix can be created only by using key board input. On invoking the operation from menu bar, a
dialog box will be displayed for the user to enter the co-ordinates of the start and end radii of
helix. Further it asks for the pitch and length of the helix. It also asks for the angle of rotation of
the helix and the no. of segments per revolution required for approximation. (For example, if the
helix is defined in the front view then the length is defined along the X-axis and the angle of
rotation is given anti-clockwise with respect to the positive X-axis). Once all the inputs are
correctly given the helix will be created and displayed. The user can select the view in which the
Helix is to be created.
6.6 Spiral
Spiral entities can be created by using key board input. On invoking the operation from menu
bar, a dialog box would be displayed for the user to enter the parameters such as the work plane
of the spiral, co-ordinate of its center, the start radius, start angle, and the number of segments
per revolution approximation (the minimum number of segments is 6). Further, user selects the
type of the spiral from the list. Depending on type, the user has to enter other parameters as
follows:
• End Angle-Pitch: In this case user enters end angle, pitch and revolution.
• End Angle-End Radius: In this case user enters end angle, end radius and revolution.
• End Radius-Pitch: In this case user enters end radius, pitch and revolution. Once all the
inputs are correctly given the spiral will be created and displayed.
Note: The following assumptions / conditions are applied in creation of spiral
• If Start Angle is 360 Degrees, it is assumed as ZERO degree
• If End Angle is ZERO degree, it is assumed as 360 degrees.
• Negative angular values are converted into positive (e.g. -90 = 270).
• End Radius must be greater than Start Radius.
6.7 Involute
Involute is the curve formed by the path of a point on a straight line as the line unwinds along
the circumference of a base circle. This is generally used as the profile of a gear teeth. If a circular
disc was placed on a drawing board, an involute curve would be scribed by the end of a taut line
if it was unwound from the disc. The disc represents what is known as the base circle because
this is the circle from which the involute tooth curves are derived. Involute can be created in
following two different methods.
6.7.1 Key-in
In this method, on invoking the operation from menu bar, a dialog box will be displayed for the
user to enter the co-ordinates of the center of base circle, start point of the involute curve and
the end point at which the involute ends. It also asks for the number of segments to be used for
approximations. Once all the inputs are correctly given the involute curve will be created and
displayed.
end point w.r.t Start point. The user can select the View in which the Involute curve is to be
created.
6.8 Bezier
A Bezier curve is defined by a table of poles, also called "control points" (together with the
associated weights if the curve is rational), which are used to deform the curve.
There are two methods to create a Bezier curve
• Control Points
• Convert
• Set Parameter
6.8.2 Convert
With this choice, the user can create a Bezier curve by converting an existing curve. After
conversion, more than one Bezier curve may be created. The resultant Bezier geometry is
infinitely smooth, i.e. it is Cn-continuous in its every point. At every point in the original geometry
where Cn criterion is broken, such geometry is split. Default selection is 'All Curves' i.e. all curve
types are selectable. To use other options (Lines or Arcs or Conics or Splines) disable the 'All
Curves' option and enable the required selection filter. Select the curves and press Enter, system
will generate the Bezier curves. To set new selection filter, restart the operation from the menu
bar. The system prompts with the following messages for the user.
• Curve to convert: Select the type of curve(s) to convert. Default all curves are set. Multiple
selection is enabled.
• Specify curves to convert: Use the mouse to select existing curves and then hit the 'Enter'
key. Use the 'Esc' key to reject an already selected curve.
6.9 B-Spline
A B-Spline curve is defined by:
• its degree,
• its periodic or non-periodic characteristic,
• a table of poles, also called control points (together with the associated weights if the curve
is rational), and
• a table of knots, together with the associated multiplicities.
A B-Spline Curve can be:
• uniform or non-uniform,
• rational or non-rational,
• periodic or non-periodic.
The poles of the curve are the points used to shape and reshape the curve. A rational B-spline is
a piecewise, rational polynomial; that is, the numerator and the denominator are both B-splines.
A nonuniform, rational B-spline (NURBS) curve is a mapping of one variable, t, from the
parametric domain into 3-D space X(t)/W(t), Y(t)/W(t), Z(t)/W(t) where each component is a
rational B-spline. The intervals of the parametric domain may be of unequal length. The B-spline
curves are represented by coefficients called control points and rational blending functions. For
convenience, the control points Pi = (xi, yi, zi, wi) are in 4-D space with x, y, z being 3-D model
coordinates and w being the weight.
A rational B-spline curve is defined by:
• The order of the curve (order = degree + 1).
• The number of segments.
• The breakpoint sequence.
6.9.1 Approximation
With this choice, the user can create a 3D B-Spline curve by approximating a set of points (actual
data). The system prompts for the user to specify points. Then press the 'Enter' key after the last
point is specified to create the curve. The user can create a 3D B-Spline curve both in rubber band
and non-rubber band mode. With rubber band mode on, the user will get a b-spline curve (white
colour) for each click from the second click onwards. By completing the operation, the user will
get the desired b-spline curve with green colour. Each click is the data point on the curve. On the
other hand, if the rubber band option is off the user will get point markers in red colour for each
click (data points of the b-spline curve) and by pressing the enter key finally, the user will get the
required b-spline curve. The resulting curve is at least C2 continuous, minimum degree of 3.
Error messages:
• The system checks for null data points, if null then the system displays an error message box:
Input Error: Too few points to create B-Spline curve.
• If a B-Spline curve is not created, the system displays an error message box: Remote
Exception: B-Spline curve not created
6.9.2 Interpolation
With this choice, the user can create a 3D B-Spline curve by approximating a set of points which
are on the curve, not control points. The system prompts for the user to specify points. The user
can create a 3D B-Spline curve both in rubber band and non-rubber band mode. With rubber
band mode on, the user will get a b-spline curve (white colour) for each click from the second
click onwards. Then press 'Enter' key to prompt for a dialog box showing the current tangent
vector coordinates of both ends of the computed b-spline curve. The user can continue with the
current tangent constraint or modify its coordinates to recompute the b-spline curve. By
completing the operation (hit the OK button), the user will get the desired b-spline curve (green
colour). Each click is the data point on the curve. On the other hand, if the rubber band option is
off the user will get point markers in red colour for each click (data points of the b-spline curve)
and by pressing the enter key finally, the user will get the required b-spline curve. The resulting
curve is C2 continuous.
Error messages:
• The system checks for null data points, if null then the system displays an error message box:
Input Error: Too few points to create B-Spline curve.
• If a B-Spline curve is not created, the system displays an error message box: Remote
Exception: B-Spline curve not created.
Xt = cost(t)
Yt = sin(t)
Zt = t
tmin = 0
t max = 15*pi
6.9.4 Extend
With this choice, the user can create a B-Spline curve by extending any bounded 3D curve to a
point position or curve boundary. The selected curve is deleted to create a new b-spline curve.
The system prompts for the user to specify curve to be extended.
• Specify curve to extend: Use the mouse to select an existing curve near the end which is to
be extended.
• Select a point or a curve: Use the mouse to select existing point or curve to which the curve
is to be extended.
A dialog box prompts with parameters controlling the extension.
Degree of continuity: Select 1,2 or 3 from the combo-box list
Error messages:
If the curve is not created, the system displays an error message box:
• Remote Exception: B-Spline curve by extend failed
6.9.5 Iso-parametric
With this choice, the user can create two or four B-spline curves along the edges of the B-spline
surface or passing through a point lying on the surface. The system prompts with the following
messages for the user.
• Specify a B-spline surface: Use the mouse to select an existing b-spline surface. User cannot
select a trim face entity.
• A dialog box prompts with parameters to be selected.
• Curve creation: Select U Edges, V Edges, All Edges, Specify Point from the combo-box list.
In U or V edges, 2 curves are created and in ‘All Edges’ method four iso-parametric b-spline
curves are created along its edges. The Specify point position method requires a surface point or
a point is projected normally on to the surface based on the screen position. Two new curves are
created in this method.
Error messages:
If the curve is not created, the system displays an error message box:
Remote Exception: Curve not created
6.9.6 Convert
With this choice, the user can create an equivalent B-Spline curve by converting an existing curve.
The curve to be converted must be finite i.e. parametric bounds is finite. The orientation of the
resulting b-spline curve is same as the selected curve. On selecting a curve, a dialog pops up to
choose the type of conversion (Direct/Parameters). If the user wants to go for direct conversion,
select the 'Direct' option. The additional options are enabled if 'Parameters' option is chosen.
This is an approximation technique of b-spline conversion within a tolerance. If the user wants
to specify the maximum number of segments for the resulting b-spline curve, select 'Parameters'
option.
Here the user needs to enter the values, the maximum number of segments 'MaxSegments'
allowed in the resulting b-Spline curve and the highest degree 'MaxDeg' which the polynomial
defining the b-spline curve may have.
• Specify curves to convert and press Enter: Use the mouse to select an existing curve and then
select type of conversion, if required enter the input parameters and then hit the 'Enter' key.
Use the 'Esc' key to reject an already selected curve.
• Specify curves to convert and press Enter: Use the mouse to select an existing curve and then
select type of Conversion, if required enter the input parameters and then hit the 'Enter' key.
Use the 'Esc' key to reject an already selected curve.
Error messages:
• If a B-Spline curve is not created by conversion, the system displays an error message box:
Remote Exception: B-Spline curve not created by conversion
• If a curve is selected is not a bounded curve (finite), the system displays an error message
box: Input Error: Not a bounded curve
6.9.7 Concatenate
With this choice, the user can create a single B-Spline curve by concatenating a series of
connected 3D curves (line, arc, b-spline curves, etc.). The tolerance value of 0.001 is used to check
the distance continuity between two successive curves. A dialog with checkbox option to retain
the original curves is available. The system prompts with the following messages for the user.
Specify curve(s) to concatenate and press Enter: Use the mouse to
select existing curves and then hit the 'Enter' key. Use the 'Esc' key to
reject an already selected curve
A dialog box prompts with a checkbox option to retain the original
curves
Retain Curves: To retain the original curves activate the check box else
the curves will be deleted after concatenation. Figure 6-10: Option to retain
curves while concatenating
Error messages: B-Spline curves
• If at least, two of the curves are not connected at their end points,
the system displays an error message box: Remote Exception: Curves are not continuous
• If a single curve is selected, the system displays an error message box: Input Error: Only one
curve selected
6.9.8 Blending
With this choice, user can create a new b-spline curve by joining the ends of two different curves
or the start/end of the same curve can be 'filled' by blending. The new curve created respects the
tangency condition of the curve ends while blending (filling). The user selects one or two existing
curves with the ends to fill the new b-spline curve.
The user is prompted to select the first curve end. On selecting the first curve end the user is
prompted to select the second curve end or the other end of the same first curve. On selecting
the curve end, the user will get a new b-spline curve between the two ends of the selected
curve(s). The ends will be decided with the clicked point while selecting the curve. The end point
is always nearest to the clicked point of the curve.
6.10 Offset
Set of curves can be created at an offset, that is a specified
distance from a selected (basic) profile or set of curves and has
slope along its length as the basis curves. The basis curve to
offset must lie on a plane, else offset cannot be created properly.
The new offset curve usually can be self-intersecting even
though the basis curve does not self-intersect. The self-
intersecting portions are deleted at the time of construction.
Self-intersection input curves may not give good results. The
direction of offset for curves is determined by the sign of offset
distance and the orientation of the input curves. Give a negative
value to create a offset in the other direction. Profile Offset can
be done directly. Set of curves in chain(continuous) can also be
offsetted. When curves are selected using chain selection/ Figure 6-14: Parameters for curve offset
6.10.1 Cornering
Cornering defines the type of join extension required at the joining vertices of the set of curves.
Check cornering option if user require smooth corners (section of arc) at the joining vertices.
When cornering option is not checked, edges at the joining vertices are extended until they
intersect to form sharp corners. Some offset curves cannot be prolonged or prolonged offset
curves have no intersection.
6.10.2 Capping
Capping is available only with Bi-directional option. Capping option will add a cap (an arc) at the
open ends (non-intersecting portion) of offseted entities. It is used for open set of curves.
Capping is enabled only for set of lines, arcs and elliptical curves.
Error messages:
When offset for a set of curves is not created. An exception message is prompted.
• Remote Exception: Offset is not Done
If a Helix curve is selected which a 3D Curve, offset cannot be created. A warning message is
prompted.
• Warning: To offset a curve, all points on curve must be in the same plane
Figure 6-17: Bi-directional curve offset with Capped Ends Figure 6-18: Bi-directional curve offset without Capped Ends
6.11 Trim
There are different operations to trim or break or divide a curve(s) - line, arc, ellipse, splines,
bezier.
• Single Bound - End(s)
• Double Bound - Trim Ends
• Double Bound - Trim Middle
• Intersection - Manual
• Intersection - Implicit
• Break - At Point(s)
• Break - At Intersection(s)
• Divide
• Split
• Auto - Split
All curve entities are supported for this operation
6.11.8 Divide
With this choice, user can divide a curve into equal number of parts. The system prompts with
the following messages for the user.
• Specify curve to divide: Use the cursor to select a curve.
• Divisions: Enter number of divisions required in the dialog box.
• Retain Curve: A check box option to "Retain curve" to retain the original curve after division.
Default is disabled
6.11.9 Split
With this option, user can split (break) a set of selected curves at their point of intersection. On
invoking the option, the system would prompt to select the curved to split. Select the curves and
press Enter, the curves would split at their intersection points
Error messages:
• If a curve is not trimmed (does not intersect with the boundary curve), the system displays
an error message box and prompts again for curve to be trimmed. Input Error: Curve cannot
be trimmed
• If a curve is not broken, the system displays an error message box and prompts again for
curve(s) to be broken. Input Error: Curves(s) break at position(s) failed
• If the trimming method fails, the system displays an error message box. Remote Exception:
Trimming failed
• If the system fails to get the trimming algorithm from the server, the system prompts the
message on the bottom panel. Failed to get Trim algorithm
6.12 Explore
In curve exploration, user can extract the underlying curves from surface or solid entity. A dialog box
will be displayed for the user to select any one of the following exploration methods.
7.1 Introduction
The Surfaces menu in the system supports creation and modification of surface entities ranging
from planes to more complicated geometric entities such as spheres, cylinders, cones, pipes, and
B-Spline surfaces. Easy-to-use interfaces are provided for creation of each of these entities. An
entity can be created (wherever applicable) using any of the following methods
• Using the keyboard by invoking the operation from the Menu Bar: When this method is
invoked a dialog box will appear in which the user can enter various parameters related to
the given entity. When the OK button is pressed after entering the inputs, the dialog box
disappears for a moment and the entity is displayed. The dialog box will then re-appear, and
the user can create another entity or press the Cancel button to terminate the entity creation
process
• Using the mouse button on screen: Use the mouse button on the screen to enter the desired
input for creation and modification of an entity.
7.2.1.2 Key In
The system prompts with a dialog box for entering the points coordinates to define a plane
The system prompts with a dialog box for entering the points coordinates to define a plane
through three corner points.
Error messages
• If the first three points are collinear, they do not define a plane. The system displays an error
message box: Points are collinear, cannot create a Plane. Specify third point again
• If the points clicked are too close to the previous point, the system displays an error message
box: Point too close first point, cannot create a Plane. Specify second point again
• If a plane is not created, the system displays an error message box: Remote Exception: Plane
Entity not created
7.2.2 Ruled
With this choice, user can create a surface by sweeping straight lines from one curve to another
curve. The system prompts the following messages for the user.
• Specify First curve: Use the mouse to select the first curve. The curve can be any single-entity
curve.
• Specify next curve: Select the second curve.
The system creates and displays the ruled surface and prompts again for creation of a new ruled
surface.
Error messages:
If a ruled surface is not created, the system displays an error message box: Remote
Exception: Ruled Surface not created.
• Specify first end point of cylinder: Indicate axis start point position on the screen.
• Specify second end point of cylinder: Indicate the axis end point position
• After the axis is defined, the system prompts with a dialog box for entering the radius of the
cylinder. The default value is 0 mm (inch).
The system defines and displays the cylinder and prompts again for creation of new cylinder
7.2.3.2 Key in
If the user clicks on Key in menu, the system prompts with a dialog for entering the Cylinder end
points X1, Y1, Z1, X2, Y2, Z2 and the Radius of the Cylinder.
• X1 Enter axis start point value X.
• Y1 Enter axis start point value Y.
• Z1 Enter axis start point value Z. The default is 0.
• X2 Enter axis end point value X.
• Y2 Enter axis end point value Y.
• Z2 Enter axis end point value Z. The default is 0.
• Radius Enter the Cylinder radius.
• Once the axis line is selected, the system prompts with a dialog box for radius of the cylinder.
On entering radius, the system defines and displays a Cylindrical Surface with the axis line
extending from the first end point of the cylinder to the second end point of the cylinder. The
radius must be greater than zero.
The poles of the surface are the points used to shape and reshape the surface. They comprise a
rectangular network. There are eight methods to create a B-Spline surface.
• Approximation
• Boundary Curves - Two, Three or Four curves (existing B-Spline curves)
• Skinning
• Lofting
• Extend
• Convert
• Edge to Edge
• Modify Poles & Weights
7.3.1.1 Approximation
With this choice, the user can create a B-Spline surface which approximates the data points. The
system prompts for a dialog box for entering the number of data points per U and V paths (say
'm' in U-path and 'n' in V-path) using a spinner (Increment/decrement using the arrow buttons
or type in a new value in the editable text field). The minimum and maximum value is 2 and 1000
respectively. Next the system prompts for specifying 'm' points for U-Path 'n' times. The last
point clicked can be rejected by hitting the 'Esc' key. After the last point is specified, it creates
and displays the B-Spline surface and prompts for creation of a new B-Spline surface with same
number of points. In order to create with new set of data points, select the B-Spline -
Approximation menu item again.
Error messages:
• The system checks for null points, if null, the system displays an error message box: Input
Error: Too few points.
• If a B-Spline surface is not created, the system displays an error message box: Remote
Exception: B-Spline surface not created
• Specify next curve: Select an existing curve which is contiguous with first curve. Hit the
ENTER key to create with two curves.
• Specify next curve: Select an existing curve which is contiguous with second curve. Hit the
ENTER key to create with three curves.
• Specify last curve: Select an existing curve which is contiguous with third curve.
• A dialog box prompts up for selecting filling style. Pull down the combo-box to select one of
choices, "Stretch", "Coons" and "Curved".
The system creates and displays the B-Spline surface and prompts again for creation of a new B-
Spline surface with curves as boundary.
Error messages:
If a B-Spline surface is not created, the system displays an error message box.
Remote Exception: B-Spline surface with 2(3,4) curves not created
7.3.1.3 Skinning
With this choice, the user can generate a surface from one curve/edge to another curve/edge.
The system prompts with the following messages for the user.
• Specify First Curve/Edge: Use the mouse to select and existing curve or edge of surface. Use
the 'Esc' key to reject an already selected curve/edge.
• Specify Second Curve/Edge: Use the mouse to select another curve or edge of surface. This
creates the surface
Error messages:
• If a B-Spline surface is not created by skinning, the system displays an error message box:
Remote Exception: Failed to create a B-spline surface
7.3.1.4 Lofting
With this choice, the user can generate surface(s) on a cross-section of curves. The user can
specify more than one curve in each cross-section and all the curves in each cross-section should
be continuous. The system generates surfaces equal to number of curves in each cross-section.
Minimum of two sections are required. The system prompts with the following messages for the
user.
• Specify curves for the first section and then press N: Use the mouse to select existing curves
(continuous in each section) and then hit the 'N' key to select curves in next section. Use the
'Esc' key to reject an already selected curve.
• Specify curves for the next section and then press N or Enter: Use the mouse to select existing
curves (continuous in each section) and then hit the 'N' key to select curves in next section
or hit the 'Enter' key to create the surface.
Surface type if ‘Ruled' is set then the surfaces generated between two consecutive sections (set
of curves) are ruled surfaces, or if set to 'Smooth' then they are smoothed out by approximation
to create a single surface passing through all successive curves of the same index of the sections.
The first output is a 'smooth' surface generated between three sections containing a single circle.
The second output is 'ruled' surfaces generated between each line (edge) of the consecutive
sections.
Error messages:
If a B-Spline surface is not created by lofting, the system displays an error message box: Remote
Exception- Failed to create a B-spline surface
7.3.1.5 Extend
With this choice, user can extend an existing bounded (plane, bezier or b-spline) surface beyond
its original bounds. The extension is performed according to a geometric requirement and a
continuity constraint. It should be a small extension with respect to the size of the original
surface. To extend, the system requires a bounded surface, direction and side of extension, length
of extension and degree of continuity. The new surface created is a B-Spline surface.
• Specify Bounded surface: Use the mouse to select an existing bounded surface (plane, bezier
or b-spline).
A dialog box prompts with parameters controlling the extension.
• Degree of continuity: Select 1,2 or 3 from the combo-box list.
• Extension Length: Enter real length value.
• In U parametric Direction: If true (checked), the direction of extension in U- parametric
direction of the surface.
• After last parameter: If true (checked), the extension is built on the last parameter of the
surface.
Error messages:
7.3.1.6 Convert
With this choice, the user can create an equivalent B-Spline surface converting an existing
surface. The surface to be converted must be finite i.e. parametric bounds is finite. The
orientation of the resulting surface is same as the selected surface. The system prompts with the
following messages for the user.
• Select surfaces to convert and press Enter: Use the mouse to select existing surfaces and then
hit the 'Enter' key. Use the 'Esc' key to reject an already selected surface.
A dialog box pops up to enter the following conversion parameters. In order to build the B-Spline
surface with higher level of continuity it is possible to approximate the surface by controlling the
parameters.
• U Continuity (ucon): Select the required U variable
continuity from the combo box.
• V Continuity (vcon): Select the required V variable
continuity.
• Precision Code
trimmed surface entity by clicking near surface boundary. The system prompts with the
following messages for the user.
• Select surface edge: Use the mouse to select edges of surface or trimmed surface. Use the
'Esc' key to reject an already selected edge.
If user want to create b-spline surface using edge to edge operation from other surfaces like, fillet,
chamfer, offset, trimmed, revolution, extrude and freeform surfaces. For this user can select any
two surfaces, then select the edge of first surface and then select edge of second surface. For
example, output selecting 'edges' from two 'parallel' surfaces.
7.3.2 Revolution
With this choice, the user can create a multiple surface of revolution (revolved surface). Such
surfaces are obtained by rotating a set of curves/a profile through a partial or complete
revolution about an axis (referred to as the "axis of revolution"). The curves/profile and the axis
must be in the same plane (the "reference plane" of the surface).
Rotation around the axis of revolution in the trigonometric sense defines the ‘u’ parametric
direction. So, the ‘u’ parameter is an angle, and its origin is given by the position of the meridian
on the surface. The user is prompted to enter the start and end angle of revolution. The system
prompts the following messages for the user.
• Select the axis of revolution: Select the line to be used as the axis of revolution
• Specify Curves and hit Enter: Use the mouse to select the curves/ profile which are to be
rotated about a line/axis to define the surface.
• Revolution angle parameters: Enter the start and end angle of revolution in degrees.
The system creates and displays the surface of revolution and prompts again for creation of a
new set of surfaces. In the figure, a revolved surface is created taking vertical line as an axis of
rotation and closed set of curves that are rotated around the line entity.
Error messages:
The curve is not checked for planarity. It is not checked to verify that the axis of revolution is in
its plane. It is not checked for self-intersections.
If the entity selected is not a line, the system displays an error message box: Input Error- Select
a line only, select again
If a surface of revolution is not created, the system displays an error message box: Remote
Exception - Revolution of surface not created
7.3.3 Offset
An offset surface is defined by,
• the basis surface to which it is parallel, and
• the distance (constant and variable) between the offset surface and its basis surface.
A point on the offset surface is built by measuring the offset value along the normal vector at a
point on the basis surface. The side of the basis surface on which the offset is measured depends
on the sign of the offset value. An offset surface can be self-intersecting, even if the basis surface
does not self-intersect. The self-intersecting portions are not deleted at the time of construction.
The various input parameters for variable offset surface creation are,
• Reference point options (1(u=0, v=0), 2(u=1, v=0), 3(u=0, v=1), 4(u=1, v=1)) for offset. Any
geometry surface patch has U and V parametric space.
• Number of points along U parametric direction.
• Number of points along V parametric direction.
• Offset Value at Reference point (preferred at u=0 and v=0).
• Offset value at end of U parametric direction.
• Offset value at end of V parametric direction.
The system creates and displays the offset surface and prompts again for creation of a new offset
surface.
Warning:
The offset surface is built with a copy of the base surface. Therefore, when base surface is
modified the offset surface is not modified.
Error messages:
• If the selected entity is not a surface or a pipe and revolution surface, the system displays an
error message box: Input Error- Not a valid surface, select any surface other than pipe and
revolution surface, specify again.
• If an offset surface is not created, the system displays an error message box: Remote
Exception- Offset Surface not created.
aligned along the vector tangential to the origin of path curve(s). The system prompts the
following messages for the user.
• Specify path curve: Use the mouse to select existing CADCurve(s) (full hyperbola not
supported) that is to have the section driven along it.
• A dialog box prompts for entering the radius of circle (section curve): Enter Pipe Radius -
Enter the radius of the constant circular section.
The system creates and displays the pipe surface(s) and prompts again for creation of a new
surface.
Error messages:
• If a full hyperbola curve (created with start angle - 0 degrees and end angle - 360 degrees),
is selected as path curve, the system displays an error message box: Input Error - Full
Hyperbola not supported
• If a pipe surface of constant section is not created due to remote exception, the system
displays an error message box: Remote Exception - Cannot create Pipe surface
• If a pipe surface with constant section is not created, the system displays an error message
box: Remote Exception - Pipe surface not created.
• Specify path curve: Use the mouse to select an existing curve that is to have the section driven
along it.
• Specify First section curve: Select the first section curve that is to be driven along the path
curve.
• Specify Second section curve: Select the second section curve till where the first curve is
driven.
The system creates and displays the pipe surface and prompts again for creation of a new surface.
Error messages:
• If a full hyperbola curve (created with start angle - 0 degrees and end angle - 360 degrees),
is selected as path curve, the system displays an error message box: Input Error-Full
Hyperbola not supported.
• If a pipe surface with varying section is not created, the system displays an error message
box: Remote Exception -Pipe surface not created.
7.4.1.1 Modify
User can modify the radius of already created fillet.
Figure 7-16: Edge Fillet - Variable Radius
7.4.2 Chamfer
Using this operation, user can create chamfer surface(s) between the surfaces having common
edge(s). The surfaces between which the chamfer(s) is to be created must have common meeting
edge to build the chamfer(s). Chamfer(s) will be built along the common edge(s) of the selected
surfaces. If surfaces have common meeting corner, for example three surfaces meeting at the
corner, like a box corner, in that case corner chamfer will be generated. Multiple surfaces can be
selected for chamfering, the system computes and builds multiple chamfers along the common
edges and common corners. When user select the chamfer operation, system prompts user to
select the surfaces.
• Select surfaces and press Enter
• After selecting the surfaces, a dialog will pop up for user to provide the chamfer parameters.
If user selects only two surfaces, then enter the values for "Distance 1" and "Distance 2".
"Distance 1" is the chamfer distance on the first selected surface from the common edge and
"Distance 2" is the chamfer distance on the second surface from the common edge. In case if
user selects multiple surfaces (more than two), in that case user need to enter only one
"Distance" value. Once user enters the appropriate value(s) for chamfer parameter(s),
system computes the chamfer(s) and build them.
Error messages:
• If chamfer surface is not created, the system displays an error message box: Fillet/ Chamfer
not created.
7.4.2.1 Modify
User can modify the distance parameter(s) of already created chamfer.
7.5 Explore
In surface exploration, user can extract the underlying
surface (mapped to Freeform surface instance) from
solid entity. A dialog box will be displayed for the user
to select any one of the following exploration methods.
Select any of the three options as per the requirement.
Figure 7-19: Surface Explore options
8.1 Introduction
With CollabCAD user can create the primitive solids box, cone, cylinder, sphere, torus, slab,
freeform, revolution solid and sweep solid. There are two types of methods available to create
the solid primitive box, cone, cylinder, sphere and torus.
• Key in method (Enter values): When this method is invoked a dialog box will appear in which
the user can enter various parameters related to the given entity. When the OK button is
pressed after entering the inputs, the dialog box disappears for a moment and the entity is
displayed. The dialog box will then re-appear, and the user can create another entity or press
the Cancel button to terminate the entity creation process.
• Using screen position: When this method is invoked CollabCAD will prompt the user to click
the parameters related to the given entity.
8.2.1.2 Key in
If the user clicks on Key in menu, the system prompts with a dialog for entering the Solid Box
corner X, Y, Z, Length @X, Length @Y and Length @Z
• Corner X: Enter one corner value of X.
• Corner y: Enter one corner value of Y.
The system defines and displays the Solid Box and prompts again
for creation of new Solid Box.
• Select First Edge Line: Select first edge line on the screen.
• Select Second Edge line: Select second edge line on the screen.
• Select Third Edge line: Select third edge line on the screen.
Once the edge lines are selected, the system defines and displays a Solid Box taking common end
point as the corner and three lines as three edges of the box.
In case lines are not perpendicular or don’t have common end point, system will prompt proper
error message.
8.2.1.4 Modify
Modification of Solid Box is possible. With this user can modify the general and geometric
properties of the Solid Box.
Error messages:
• If a Solid Box is not created, the system displays an error message: Remote Exception or
Construction Error- Solid Box not created.
• Specify first end point of the Cylinder: Indicate axis start point position on the screen.
• Specify second end point of Cylinder: Indicate the axis end point position.
• Once the axis is defined, the system prompts with a dialog box for entering the radius of the
Cylinder.
The system defines and displays the Cylinder and prompts again for creation of new Cylinder.
Enter the desired radius.
8.2.2.2 Key in
If the user clicks on Key in menu, the system
prompts with a dialog for entering the Cylinder
end points X1, Y1, Z1, X2, Y2, Z2 and the Radius of
the Cylinder.
• X1: Enter axis start point value X.
• Y1: Enter axis start point value Y.
• Z1: Enter axis start point value Z.
• X2: Enter axis end point value X.
• Y2: Enter axis end point value Y.
• Z2: Enter axis end point value Z.
• Radius: Enter the Cylinder radius.
8.2.2.3 Axis Line Figure 8-2: Key in parameters for Solid
Cylinder creation
To create a Solid Cylinder using a line and a positive radius. The line is the cylinder axis and the
radius is the cylinder radius. If the user clicks on Axis Line menu, the system prompts the
following message:
• Select Axis Line
• Once the axis line is selected, the system prompts with a dialog box for radius of the cylinder.
In the figure Line entity is considered as axis of the cylinder, with length of Line as height of
cylinder. On entering radius, the system defines and displays a Solid Cylinder with the axis line
extending from the first end point of the cylinder to the second end point of the cylinder. The
radius must be greater than zero.
8.2.2.5 Modify
Modification of Solid Cylinder is possible. With this user can modify the general and geometric
properties of the Solid Cylinder.
The system defines and displays the cone and prompts again for creation of new cone.
8.2.3.2 Key in
If the user clicks on key in menu, the system prompts with a dialog for entering the cone end
points X1, Y1, Z1, X2, Y2, Z2 and the radius
(Radius1/Raidus2) of the cone at the two end points.
• X1: Enter axis start point value X.
• Y1: Enter axis start point value Y.
• Z1: Enter axis start point value Z.
• X2: Enter axis end point value X.
• Y2: Enter axis end point value Y.
• Z2: Enter axis end point value Z.
• Radius1: Enter the cone end radius.
• Radius2: Enter the cone end radius.
8.2.3.3 Axis Line
To create a Solid Cone from a line and two positive Figure 8-4: Key in parameters for Solid Cone creation
radii value. The two radii are the base radius and
the top radius respectively. If the user clicks on axis line menu, the system prompts the following
message
• Select Axis Line Near the Base Point.
• Once the axis line is selected, the system prompts with a dialog box for base radius and top
radius of the cone.
On entering the radii, the system defines and displays a Solid Cone with the axis line extending
from the first end point of the cone to the second end point of the cone. The radii must be different
and must be greater than zero.
To create a Solid Cone from an existing circle, a positive radius and a non-zero length value. The
radius is the top radius of the cone and the length value is the length of the axis of the cone. If the
user clicks on Base Circle menu, the system prompts the following message.
• If the points clicked are too close to the previous point, the system displays an error message:
Input Error - Points too close, cannot create a Cone.
• If the end radii are same, the system displays an error message: Input Error - Cone ends must
have different radii.
• Both radii cannot be 0.
• If a conical solid is not created, the system displays an error message: Remote Exception -
Construction/modification Error
• Remote Exception-failed to create Solid Cone.
8.2.3.5 Modify
Modification of Solid Cone is possible. With this user can modify the general and geometric
properties of the Solid Cone.
8.2.4.2 Key in
If the user clicks on Key in menu, the
system prompts with a dialog for entering
the Sphere center point X, Y, Z and the
Radius of the sphere.
• Center X: Enter center point value X.
• Center Y: Enter center point value Y.
• Center Z: Enter center point value Z.
Figure 8-5: Key in parameters for Solid Sphere creation
• Radius: Enter the sphere radius.
8.2.4.5 Modify
Modification of Solid Sphere is possible. With this user can modify the general and geometric
properties of the Solid Sphere.
• Specify Point for cross section radius: Indicate the point position to specify the outer radius
The difference between cross-section outer radius and torus radius point gives the cross-section
diameter. The system creates and displays the Solid Torus and prompts again for creation of a
new Solid Torus.
8.2.5.2 Key in
If user clicks on Key in menu, the system prompts with a dialog for entering the Torus center
points X, Y, Z, Torus radius and the Cross section (C.S) radius. of the Cylinder.
• View: Specify the view of creation. Default is Front view.
• X: Enter center point value X.
• Y: Enter center point value Y.
• Z: Enter center point value Z. The default is 0.
• Torus Radius: Specify the Torus radius.
• C.S Radius: Specify the cross-section radius.
8.2.5.5 Modify
Modification of Solid Torus is possible. With this user can modify the general and geometric
properties of the Solid Torus.
User can directly create various types of solid coil geometry (like springs) by defining well
defined input parameters governing the trajectory path and the circular cross-section radius.
Based on the input parameters, the trajectory path can be cylindrical (constant - pure helical),
conical (varying - pure spiral) and combination of helical & spiral path. The defining parameters
for each case are:
8.3 Slab
A Slab (also called as Prism/Extrusion/Pad) is a solid primitive obtained by extruding the area
bounded by a planar closed contour(s) along the direction normal to the plane of the contour(s)
by a specified distance. This distance is called the slab thickness or height of the slab, and it can
be on either or both sides of the contour(s). The slab can be a simple slab bounded by one closed
contour or it can be a slab with multiple islands in it. In case of slab with multiple islands, one
bounding planar closed contour for slab can circumvent multiple closed contours within its
boundaries, thus resulting in slab with multiple hollow spaces in it. All the contours for the slab
must be co-planar and should not intersect with other contour curves or should not self-
intersect. For slab contour user can select any type of curve except Helix and Spiral curves. The
side or lateral faces formed by the slab can be at an angle (called the draft angle) with the plane
normal. To create Slab, go to Solids menu and then select the "Slab" menu item. System prompts
the following message:
• Select Cross-Section Curves for Slab and Press Enter: Select the curves or profile(s) for the
cross section(s) of slab. Select all the curve(s) or profiles for islands if any. The order of
selection really doesn't matter. Once user finishes the selection of curves or profile(s) for
slab press 'Enter' key.
• Once user selected the cross-section(s) for slab (by pressing "Enter" key), an input dialog
will pop-up requesting user to specify the following slab parameters. Arrows would be
displayed on the selected curves, indicating the normal direction.
• Slab Type (Specify the type of Slab required. Users have 3 choices here)
o One Direction: Extrudes along the displayed direction alone. Draft can be applied to
side faces if needed.
o Two Direction: Extrudes along both sides of selected curves. Draft cannot be applied
to the side faces.
o Upto Point: Extrudes up to a specified Point. Users would be prompted to specify this
point when OK is pressed. Draft can be specified, if required. Direction of normal
would NOT be displayed.
• Thickness 1: Enter the thickness to be applied along the direction of the displayed normal. If
a negative value is entered, it would be applied in the opposite direction.
• Thickness 2: Enter the thickness to be applied in the OPPOSITE direction of the displayed
normal. If a negative value is entered, it would be applied in the direction of the displayed
normal.
• Draft Angle: Enter the draft angle, the angle between the normal to the selected curves and
the side faces. A converging slab would be formed if the signs of Thickness and Draft Angle
are the same. Else the Slab would be diverging. Draft is possible only when Thickness is
applied in one direction alone, and the section curves consists of Lines, Arcs and Profile only.
• Reverse Direction: Click this option to reverse the direction of the displayed normal.
"Thickness 1” would be applied along the direction of the normal, and "Thickness 2" in the
opposite direction.
On pressing the OK button, the Solid Slab will be created and displayed in case of "One Direction"
and "Two Direction" Slabs. For creating slabs "Upto Point", the user would be prompted to
specify the point. On specifying the point, the slab would be created and displayed. The point
shall not be in the plane of the selected curves.
If the selected curves are overlapping, intersecting with other curve(s) or self-intersecting, not
closed or not co-planar an appropriate error message would be displayed.
Firstly, it checks for overlapping set of curves. When curves are overlapping an error message
"Selected curves are overlapping" is displayed and red coloured sphere markers are displayed
on the end points of each overlapped edge. Then, it checks for open ends in the set of curves. If
curves have open ends, an error message "Selected curves have open ends " is displayed and red
coloured sphere markers are displayed at open ends. After that it checks for intersecting and self-
intersecting curves, giving an error message "Selected curves are Intersecting" and red coloured
sphere markers are displayed at the intersection points and for not closed set of curves
(continuous) it gives an error message "Selected curves are not closed". If arrow markers are
displayed at the curve end points signifying the extrusion direction, then the selected curves are
co-planar and suitable for extrusion.
8.3.1 Modify
If user selects the solid slab for modification and press 'Enter' key a modify dialog will pop-up, at
the bottom-left corner of the window. User can modify the thickness of the slab, draft angle by
entering the desired values into respective text fields. User can also modify the solid slab by
modifying the underlying slab curves/profiles by selecting 'Modify Slab Curves' check box in the
modify dialog. If user selects the 'Modify Slab Curves' check box, all entities on the canvas will
temporarily disappear and the underlying curves/profiles of the solid slab under modification
will be displayed along with the constraints (if they are constrained). While modify dialog is still
on (on the bottom-left corner), user can now select the displayed curves/profiles on the canvas
for modification. When user selects a curve or profile for modification, the corresponding modify
dialog for the selected curve/profile will pop-up at the bottom-right corner of the window. Enter
desired values to modify the selected curve/profile and press 'Ok' button, then the modified
curve/profile will be displayed. User can repeat this to modify other curves/ profile of the slab.
Once user finished modification of the slab curves, now press 'Ok' button on the slab modification
dialog (i.e. at bottom-left corner). The slab with modified values and modified curves will be
computed and displayed. In case after modification of slab curves, user changed his mind and
decided not to change the slab, he can de-select the 'Modify Slab Curves' check box, or press
'Cancel' button, this will roll-back the modifications done to the underlying slab curves.
8.4 Revolution
This is a solid primitive obtained by sweeping the area bounded by a planar closed cross-section
contour up to 360 degrees about an axis. The axis must be in the same plane as the contour. To
create a revolution solid, first the user selects the axis of revolution. By default, users can select
lines and straight edges of solids and profiles as the axis. Users can also specify the axis by
specifying its end points. Towards this, press the right mouse button, and choose the option
"Specify Axis Points", and the system would prompt to specify the start and end points of the axis.
After specifying the axis, the system would prompt to select the cross-section curves. Once the
curves are selected, the user presses the Enter button, and a dialog box will pop up for rotation
angle. Enter the starting angle, ending angle and the option for clockwise direction, and after
selecting the OK button, the revolution solid will be displayed.
If the selected curves are not closed, then an error message will be displayed at bottom panel.
8.5 Sweep
With this choice, user can create Sweep Solid. To create Sweep Solid, go to Solids menu then to
Sweep. There are two types of Sweep:
• Single Section
• Multiple Sections
To create a sweep solid, first the user selects the sweep path curve, and closed curves. After the
completion of selection user presses the Enter button, then sweep solid will be displayed. If the
selected curves are not closed, then an error message will be displayed.
In some cases, even after satisfying the above parameters, it may create a shell and not Solid and
the concerned messages will be displayed to the user.
8.6 Loft
With this choice, user can create Loft Solid. To create Loft Solid, go to Solids menu then to Loft.
There are two types of Loft:
• Curves
• Curves and Points
8.6.1 Curves
Loft Solid is a solid entity passing through a set of curves in multiple cross-section (wire).
To create a solid loft, first the user has to select the curve(s) in closed section and then another
set of curves in section and so on in a particular sequence. The 'N' key has to be pressed to select
curves in next cross-section. After selection, user has to press the Enter button, then solid loft
will be created. The resulting solid entity is built by constructing faces between curves (edges)
of the same index on two consecutive cross-sections (wires). Minimum of two cross-section of
curves are required to build a solid loft. If the selected curves in a cross-section are not closed,
then an error message will be displayed.
If 'Solid Type' is 'Ruled', then the faces generated between two consecutive sections (set of
curves) are ruled surfaces, or if set to 'Smooth' then a smooth surface is created out by
approximation passing through all successive curves of the same index of the cross-sections. In
the figure the first output is a 'ruled' type solid generated between four sections(circle's). Second
output is using the same section's with 'smooth' type.
8.7.2 Trim
With this choice, the user can trim a solid with a surface or curve(s). Trimming would create a
solid object (underlying base solid and solid halfspace entity) removing the portion of the base
solid on the specified side of the surface/curve(s) used for trimming.
On invoking this operation, the system would prompt for the solid to be trimmed and the
surface/curve(s). Further the system would prompt for the side to be removed. Once the user
provides the above inputs, the selected solid would be trimmed and the resultant solid object
would be displayed. In case of solid trimming with curves,
user has to press N key after selecting trimming curves and
after that user is prompted for the side to be removed. In
case, selected curves are not continuous, a continuity error
showing 'Curves are not continuous' is displayed to user.
For proper results during trimming, the surface should
protrude out of the solid from all sides. Partial penetration
of the solid by the surface would give incorrect output.
Similarly, the curves used for trimming should be
continuous, ideally lie on the current work plane and
extend beyond the solid at both ends of the curve. Figure 8-19: Partially and fully extending curves
Further, it is advised to trim with open curves, as
trimming with closed curves also might throw unexpected results.
8.8.1.1.3 Parameter-Radius
In this case a set of parameter-radius pair values are
specified. The blend with corresponding radius values at the
respective parameter lengths along the edge(s) of the solid
will be created. The parameter ranges between 0.0 and 1.0.
In dialog box while entering the parameter, radius pair Figure 8-21: Constraint Radius Blend
values, they must be separated either by comma (,) or by a
space.
Figure 8-24: Global blend with constant radius, two radii and parameter-radii
Figure 8-25: Edge blend with constant radius, two radii and parameter-radii
Figure 8-26: Vertex blend with constant radius, two radii and parameter-radii
8.8.1.2.5 Face-Face
This option allows the user to create the blend between the two meeting faces of the solid. The
blend will be created along the common edge between the two meeting faces. When the user
selects this menu item, system prompts:
• Select face of a solid.
• System then prompts for the next face
• Select solid face and press Enter.
• After selecting the two faces, a dialog will pop up requesting the user to enter the blend
radius value(s). Enter the radius data and click OK.
If the operation is successful, blend will be created along the common edge between the selected
faces.
Error messages:
If a Solid blend is not created, the system displays an error message
• Remote Exception - Construction Error
• Solid Blend Creation Failed
Figure 8-28: Blend along the common edge between two selected faces
8.8.1.3 Modify
Modification of Solid Blend is possible. With this user can modify the blend data and regenerate
the blend(s) with the modified data.
8.8.2 Chamfer
Using this feature, user can create chamfer(s) on the solid edge(s). To create Solid Chamfer, go
to Solids menu then to Chamfer sub menu. Following options are available.
• Global
• Edge (equal dist)
• Edge (dist-dist)
• Then a dialog will popup requesting the user to supply the chamfer parameters. There are
two options available to specify the slant,
o Distance-Distance: If the Distance-Distance option is selected for slant, give the
values for "Distance:1" and "Distance:2" of the chamfer.
o Distance-Angle: If Distance-Angle option is selected for slant, then give the values for
"Distance:1" and "Angle".
If a Solid chamfer is not created, the system displays an error message: Solid Chamfer Creation
Failed
8.9.1.1 Modify
It is possible to modify the Pattern solid. The user can modify the number of rows, columns, row
delta, column delta and the boolean operation. The user can modify the parameters of the base
solid and the reference solid. i.e. If the user modifies the parameters of reference solid say, the
diameter of the cylinder, then it will be reflected on all the cylinders of the pattern solid.
8.9.2.1 Modify
It is possible to modify the Pattern solid. The user can modify the number of instances, angular
spacing, clockwise direction and the boolean operation. The user can modify the parameters of
the base solid and the reference solid. i.e. If the user modifies the parameters of reference solid
say, the diameter of the cylinder, then it will be reflected on all the cylinders of the pattern solid.
• After selecting the face of the solid, System prompts the user to Select the curve driven.
• After selecting the curve, System prompts the user to Select the Reference solid.
• After selecting the Reference solid, System prompts the user to Specify the base point
• After selecting the base point, a dialog box will pop up for the boolean type (i.e Fuse or Cut),
Pattern type (i.e. Number of instances, Spacing, both), number of instances, Spacing, Retain
the reference solid.
After selecting the OK button, a Curve driven Pattern Solid will be displayed.
Error messages:
If Pattern solid is not created, the system displays an error message:
• Remote Exception or Construction Error
• Making the Pattern Solid failed
8.9.3.1 Modify
It is possible to modify the Pattern solid. The user can modify the number of instances and the
boolean type. The user can also modify the parameters of the reference solid.
8.10.1 Extrude
User can create extrude feature of any shape with
a closed profile(profile can consist any type of
curves like basic lines, arcs, bezier curves or b-
spline curves) on the selected face of the
solid(solid can be any primitive or object with one
exception of Spherical face for which feature
creation is not supported). User can either create
the protrusion or depression (i.e. cut) of the
profile shape of given distance/depth on the
selected face of the solid. To create extrude
feature, go to Solid menu and then select Features
and then Extrude menu item. System prompts the Figure 8-34: Extrude feature (Protrusion &
following message: Depression)
• After selecting the valid closed profile, a dialog will popup requesting the user to input the
Type (i.e. Protrusion or Depression), Distance/Depth, Draft angle and perform option. If the
user won't select the perform option, the System creates the extrusion (Protrusion or
Depression) of given distance/depth on the selected face of the selected profile shape.
• If the draft angle is more than zero, then draft extrusion will be created. If the user selects
the perform option (i.e. up to selected face), then system prompts the user to Select solid
face and press Enter
• After selecting the solid face, extrusion will be created up to the selected face.
Error messages:
8.10.1.1 Modify
Modification of Extrude feature is possible. With this user can modify the type, distance/depth
and draft angle of the extrude feature.
8.10.2 Revolve
User can create Revolved feature with a closed profile on the selected face of the solid and the
revolution will be defined by the axis. Fuse type offers a choice between removing the matter
with a boolean cut or adding the matter with a boolean fusion. To create Solid Revolve Feature,
go to Solid menu and then select Features and then Revolve menu item. System prompts the
following message:
• Select Face of the Solid as sketch face
• After selecting the face of the solid, System prompts the user for axis line. User can select
either line entity, surface edge or solid edge
• After selecting the axis line, System prompts the user to Select the profile curves and press
Enter
• After selecting the valid closed profile, a dialog will popup requesting the user to input the
fuse type (i.e. Fuse or Cut), revolution angle and perform option. If the user won't select the
perform option, the System creates the Revolved feature up to given revolution angle.
• If the user selects the perform option, then system prompts the user to Select solid face and
press Enter
• After selecting the solid face, Revolved Feature will be created up to the selected face. In case
if protrusion won't touch the selected solid face, then revolved feature will be created for
360 degrees revolution angle.
8.10.2.1 Modify
Modification of Solid Revolve Feature is possible. With this user can modify the fuse type and
revolution angle of the Feature
8.10.3 Pipe
User can create Pipe feature by sweeping a profile along a path from the selected face of the solid.
Fuse type offers a choice between removing the matter with a boolean cut or adding the matter
with a boolean fusion. To create Solid Pipe Feature, go to Solid menu and then select Features
and then Pipe menu item. System prompts the following message:
• Select Face of the Solid
• After selecting the face of the solid, System prompts the user for path curve
• After selecting the sweep path curve, System prompts the user to Select the profile curves
and press Enter
• After selecting the valid closed profile, a dialog will popup requesting the user to input the
fuse type (i.e. Fuse or Cut) and perform option. If the user won't select the perform option,
the System creates the Pipe feature up to the length of sweep path curve.
• If the user selects the perform option, then system prompts the user to Select solid face and
press Enter
• After selecting the solid face, Pipe Feature will be created up to the selected face. In case if
protrusion won't touch the selected solid face, then Pipe feature will be created up to the
length of sweep path curve.
8.10.4 Hole
With this option, user can create the cylindrical holes
of desired diameter (both blind and thru holes) on
the selected face of the selected solid. To create hole
feature, go to Solid menu and then select Features
and then Hole menu item. System prompts the
following message:
• Select solid face and press Enter
• After selecting the solid face, a dialog will popup,
in which user can give the input data for the hole,
Figure 8-35: Hole feature
like hole type i.e. blind or thru hole, hole creation
at a point on the selected face or hole creation along the axis line, depth and radius of the
hole.
• After giving the appropriate data in the dialog and press the OK button, based on the hole at
option system will prompt the following message.
o If the user selects the hole at "Point" option, then the user is asked to Click on the
selected face where he wants to create hole and press Enter. Hole will be created on
the selected face at clicked point
o If the user selects the hole at "Axis" option, then user is asked to Select the Axis Line
and press Enter. Hole will be created along the selected axis
8.10.4.1 Modify
Modification of hole feature is possible. With this user can modify the hole type, ie blind or thru
hole, depth of the hole and radius of the hole.
8.10.5 Rib
With this option, user can create the Rib feature on Solid with the given profile and thickness.
Thickness can be specified on either side (i.e. right or left side) of the selected profile or on both
sides of the profile. The profile should be open. The profile shouldn’t be a closed one and the ends
of the profile should be touching (or intersecting) the corresponding faces of the solid on which
the profile slides to create the Rib. For linear Rib creation, only planar faces are supported. To
create Rib feature, go to Solid menu and then select Features and then Rib/Slot menu item.
8.10.5.1 Modify:
Modification of Rib Feature is possible. With this user can modify the thickness of the Rib.
8.10.6 Slot
With this option, user can create the Slot feature on Solid with the given profile and thickness.
Thickness can be specified on either side of the selected profile or on both sides of the profile.
The profile should be open. The profile shouldn’t be a closed one and the ends of the profile
should be touching (or intersecting) the corresponding faces of the solid on which the profile
slides to create the Slot. Only planar faces are supported for creation of slot. Creation of slot on
curved faces is not supported. To create Slot feature, go to Solid menu and then select Features
and then the Rib/Slot menu item. System prompts the following message:
• Indicate Solid
• After selecting the solid, the System prompts user to Select profile curves and Press Enter
• Select the curve(s) for the profile and press Enter. The profile must be touching the faces of
the selected solid on which the Slot is going to be created. A popup dialog will be displayed,
requesting the user input for the Slot, i.e. thickness on either side of the profile. System
displays a point marker on the profile, indicating the parametric direction of the profile.
Right side and left side of the profile is determined by looking along the point marker
direction, assume that user is standing at the base of the point marker and look towards the
arrow direction, then on his right hand side will be the right side of the profile and his left
hand side will be the left side of the profile. Enter the appropriate values and press OK.
Once the input is complete, Slot will be created and displayed.
Note: It is highly recommended that the profile ends must be touching or intersecting with the
faces of the solid. So, make sure that the profile ends touch or intersect with the solid faces
8.10.6.1 Modify
Modification of Slot Feature is possible. With this user can modify the thickness of the Slot.
8.10.7 Glue
With this option, user can glue i.e. attach two solids along the contact faces and make a single
object from it. The two solids to be glued must have close contact along the contact faces. The
base solid face on which the glue solid face is to be glued must be larger and its boundaries must
enclose the boundaries of the glue face. It means the base face must be larger than the glue face.
To create Glue feature, go to Solid menu and then select Features and then Glue Feature menu
item. System prompts the following message:
• Select face of the base solid
• After selecting the face of the base solid, the System prompts to Select face of the glue solid
and Press Enter
• Select the contact face of the glue solid and press enter. The glue feature will be created
joining the two solids along the selected contact faces. Remember the face to be glued must
be completely enclosed within the boundaries of the base solid face on which this face is
being glued.
The center of gravity of the solid is visually shown with point marker in orange colour. Once the
tabbed dialog is closed, the point marker at the center of gravity gets detached from the canvas.
9.1 Introduction
Assembly Design module serves the purpose of creating "Product" by assembling the parts
created in part design module by applying constraints on to these parts. Assembly consists of
large number of parts, sub-assemblies which are placed in their desired positions with required
alignment, mating conditions etc. by applying the constraints on to these parts. The current
version of Assembly design module is based on
bottom-up approach, where the predesigned parts
are brought inside the assembly. To begin an
Assembly Design in CollabCAD, after logging in,
System prompts the following message:
• Open New or Existing Design
• In response to this prompt, click on "File-
>New" menu item from menu bar or the
corresponding "new" tool bar icon. A dialog
will popup requesting the user to enter the
design variables.
• Select "Assembly Design" as the design mode. Figure 9-1: Selecting Assembly Design mode
The default name for the assembly is given by the
system in incremental numbers post fixed to the "Product", i.e. when user first open the new
assembly design, the default name of the design would be "Product1". User can change this name
to any meaningful name if desired. Then click "OK" button. Now user is entered into Assembly
Design module of CollabCAD. Menu bar corresponding to Assembly Design appears. The menus
are listed as below.
• Insert
• MarkUp
• Tolerance
9.2 Insert
Insert menu is the most important menu in "Assembly Design" module. It contains all the menu
items necessary for assembling the parts/components like, inserting the already designed
component into assembly, applying the constraints, multi instantiation of the components etc.
The menu items under this menu are listed as below:
• Constraints(3D)
• Component
• Edit Component
• Update Component
• Multi Instantiation
9.2.1 Component
The predesigned Parts (i.e. designed in Part Design mode) can be inserted into the assembly
using this menu. When the user selects this menu item, the File chooser opens, from which user
can select the required Part file to be inserted into the assembly.
All the Solid entities in the selected part file would be converted into the component on the fly
while inserting the part file into the assembly. In this case the component name will be the same
as Part file name with instance number post fixed to it. For example, if the part file named
"NicPart.muz" is inserted into the assembly then the corresponding component name for this
inserted part would be "NicPart:1".
The numeric value in the component name after colon (":") is the instance number of this
component in this assembly. As the user creates more instances of this component or inserts the
same component many times, this number in the component name after the colon increases
automatically indicating the current instance number of this component in this assembly.
new name for this part file to save the changes made to this instance only (i.e. user is
intended to make changes only to this instance, not all instances of this component).
• Enter the name of the to save this part changes. The part file for this instance gets opened
with the given new part name.
Make the changes to the part thus opened and save it. Once user saves the changes to the part,
the part gets closed. User will be back into the working assembly.
9.3 Mark-Up
MarkUp menu contains the visual utility function menus that help the designers, particularly in
collaborative assembly design scenarios. In collaborative assembly design as multiple designers
from different locations are accessing the same assembly and trying to add their components to
the assembly, at times it becomes confusing for other designers in understanding what the other
designer is inserting and for what purpose. In such cases the designer can directly point to
component, by marking the area with red mark, adding the explanatory text over there and
adding the descriptive labels. This utility facilitates the designers to work in collaboration with
interactive queries and explanations during the assembling of the components.
9.4 3D Constraints
The following types of 3 Dimensional Constraints are implemented in Assembly Mode.
• Axial Align
• Coplanar
• Fix
• Angular
• Perpendicular
• Parallel
• Distance
• Tangent
• Coincident
• Coordinate
Select the entity of first part and entity of second part, Coplanar constraint aligns the parts such
that the entities become Coplanar. If the second selected entity already has a constraint which
will not allow the entity to move and the first entity is free to move, then it aligns first arc such
that the first entity becomes Coplanar to the second entity.
The first selected entity is used as reference. The Perpendicular constraint aligns the second
selected entity in such a way that it becomes Perpendicular with the first entity. If the second
selected entity already has a constraint which will not allow the entity to move and the first entity
is free to move, then it aligns the first entity such that it is Perpendicular with the second entity.
• Edge: Makes the distance between the selected edges constant (user value).
• Vertex: Makes the distance between the selected vertices constant (user value).
• Edge-Face: Makes the distance between the selected edge and face constant (user value).
The first selected entity is used as reference. The Distance constraint aligns the second selected
entity in such a way that it lies at the constant Distance specified by user with the first entity. If
the second selected entity already has a constraint which will not allow the entity to move and
the first entity is free to move, then it aligns the first entity such that it is Distance constrained
with the second entity.
Select the entity of first part and entity of second part, tangent constraint aligns the parts such
that the entities become tangent. If the second selected entity already has a constraint which will
not allow the entity to move and the first entity is free to move, then it aligns first arc such that
the first entity becomes tangent to the second entity.
The first selected entity is used as reference. The Coincident constraint aligns the second selected
entity in such a way that it becomes Coincident to the first entity. If the second selected entity
already has a constraint which will not allow the entity to move and the first entity is free to
move, then it aligns the first entity such that it is Coincident to the second line.
10.1 Introduction
Plot Configurator is a drafting module of CollabCAD software, mainly used to generate drawing
views of a part/assembly modeled in Part/Assembly design mode of CollabCAD and apply
dimensions on entities, annotate, manufacturing symbols, adding tables, etc. It can be invoked
from CollabCAD application or as a stand-alone application.
10.2 View
The options in this menu refer to the view management of the Plot Configurator.
10.2.1 Standard
Using this option user can set a standard layout as per required type of projection. On invoking
this option, a list of available layouts would be displayed. Once a layout is selected, the same
would be displayed without any further user input.
By default, layouts are available for First Angle Projection, The Third Angle Projection and to
display All Views. Users can add more layouts into the list using the Save Layout option in the
File menu. Users can also delete a particular layout by clicking the check box in the dialog box
that appears.
10.2.2 Select
Using this option, the user can select a View and display it on the Plot Configurator. On invoking
this option, the user would be prompted to select the desired View. Once a view is selected, the
system would prompt for the diagonal points of the rectangular region in which the view is to be
displayed. On specifying the diagonal points, the selected view would be displayed in the
rectangular area.
10.2.3 Section
Using this option users can create a Sectional View and display it on the Plot Configurator. Users
can create Aligned Section Views as well as Offset Section Views.
Aligned Sections can be created against One, Two or Three Lines, whereas Offset Sections are
always created using Three Lines. On invoking this option, the user would be prompted to specify
the Points denoting the alignment of the Section Lines. A maximum of Four points can be
specified, denoting Three Section Lines. In case of Aligned Sections, users can press Enter key
after specifying Two or Three Points to limit to One or Two Section Lines. A point can be specified
with respect to the previous point by entering Polar or Delta coordinates by pressing the 'P' or
'T' Keys. On specifying the Section Points, the system would prompt for the View Direction.
Once the Section Lines and the View Direction are specified, a dialog box would appear using
which the user can specify the Section Name and the Angle & Spacing for hatching. Besides, users
have the option to display the section views with or without Back Edges. In case of Aligned
Sectioning by One Line, Users have the option to modify the coordinates of the Section Line
Points, in this dialog box. Once these parameters are entered, the system would prompt for the
diagonal points of the rectangular region in which the sectional view is to be displayed. On
specifying the diagonal points, the sectional view would be displayed in the rectangular area.
10.2.5 Refresh
Using this option, the user can Refresh the views so that changes made in the 3D model would be
affected in the view also. All displayed views (except sectional views) would automatically get
refreshed by merely invoking this option. The 3D part should be kept open in CollabCAD while
performing the Refresh operation.
10.2.6 Front
Using this option, the user can display the Front view on the plot configurator. On invoking this
option, the system would prompt for the diagonal points of the rectangular region in which the
view is to be displayed. On specifying the diagonal points, the Front view would be displayed in
the rectangular area.
10.2.7 Right
Using this option, the user can display the Right view on the plot configurator. On invoking this
option, the system would prompt for the diagonal points of the rectangular region in which the
view is to be displayed. On specifying the diagonal points, the Right view would be displayed in
the rectangular area.
10.2.8 Top
Using this option, the user can display the Top view on the plot configurator. On invoking this
option, the system would prompt for the diagonal points of the rectangular region in which the
view is to be displayed. On specifying the diagonal points, the Top view would be displayed in
the rectangular area.
10.2.9 Isometric
Using this option, the user can display the Isometric view on the plot configurator. On invoking
this option, the system would prompt for the diagonal points of the rectangular region in which
the view is to be displayed. On specifying the diagonal points, the Isometric view would be
displayed in the rectangular area.
10.2.11 Scale
Most often views drawn in plot configurator may need different scaling or uniform scaling to
make fine visibility. Increasing or decreasing Scaling value can be accomplished by the Number
spinner displayed in the scaling dialog. Alternatively, user can also enter desired value using
keyboard. Users can also specify the view height/width and modify the display type.
10.3.2 Move
To move a plot item, press the mouse over the item and drag to the desired position.
• Resize: To resize a plot item, press the mouse over the boundaries and drag to the desired
size. (Not applicable for Point Texts).
• Pan: To pan the contents of a view, keep the Control key pressed and then press the mouse
over the view and drag to the desired position. (Not applicable for other items).
• Edit: To edit a plot item, double click the mouse over the item and the appropriate dialog box
for editing would be displayed. (Not applicable for Images).
10.3.3 Delete
Using this option user can delete his/her view permanently in the plot configurator. User can
also delete the table and text also using this option depending upon his/her requirement.
10.4.1.2 Chain
On invoking this option: The message box displays the
message 'Indicate First Chain Reference'. In the
drawing area, Click the First point on the entity to be
dimensioned. The message box now displays the
message 'Indicate Second Chain Reference'. In the
drawing area, click the Second point on the entity to
be dimensioned. The message box now displays the
message 'Indicate Point Position'. Click the point
where the Dimension text is to be placed and in a
similar way user can create further horizontal chain
dimension.
10.4.1.4 Co-Ordinate
On invoking this option: The message box displays the message 'Specify Dimension Origin point'.
In the drawing area, click the Origin point on the entity to be dimensioned. This point is going to
serve as the base reference point for further
dimensioning.
The message box now displays the message
'Specify Dimension Text Position’. Click the
point where the Dimension text is to be placed.
A Horizontal Dimension (a single line) is
created and displayed. The value will be 0.0,
The message box now displays the message
'Specify Dimension Reference'. In the drawing
area, click the Dimension Reference point on
the entity to be dimensioned. The message box
now displays the message Specify Text
Position'. Click the point where the Dimension
text is to be placed. A Horizontal Dimension
between the Origin and the Dimension
Reference point is created and displayed. Note
that no base line is created, as is the case with
Figure 10-6: Co-Ordinate Horizontal Dimension
normal horizontal dimensioning.
10.4.1.5 Cumulative
Using this option, users can create horizontal
dimensions to mark the cumulative distance
from a given point. On invoking this option,
the system would prompt: 'Select First
Dimension Reference'. In the drawing area,
click the Origin point on the entity to be
dimensioned. This point is going to serve as
the base reference point for further
dimensioning. On selecting this reference,
the system would prompt: 'Select Second
Dimension Reference'. When this reference
is also selected, the system would prompt:
'Select Dimension Text Position'. The user
can now place the dimension entity at the
desired location. Users can specify more
dimension references and the cumulative
dimension entities would get created at the Figure 10-7: Cumulative Horizontal Dimension
same horizontal level as that of the first entity.
Press Enter key to complete the operation.
10.4.2.2 Chain
On invoking this option: The message box
displays the message 'Indicate First Chain
Reference'. In the drawing area, Click the First
point on the entity to be dimensioned. The
message box now displays the message 'Indicate
Second Chain Reference'. In the drawing area,
click the Second point on the entity to be
dimensioned. The message box now displays the
message 'Indicate Point Position'. Click the point
where the Dimension text is to be placed and in
a similar way user can create further vertical
chain dimension.
Figure 10-9: Chain Vertical Dimension
10.4.2.3 Stack
On invoking this option: The message box displays the message 'Indicate Stack Base Reference'.
In the drawing area, click the Base point on the entity to be dimensioned. This point is going to
serve as the base reference point for further
dimensioning. The message box now
displays the message 'Indicate First Stack
Reference'. In the drawing area, click the
First point on the entity to be dimensioned.
The message box now displays the message
'Indicate Point Position'. Click the point
where the Dimension text is to be placed. A
vertical Dimension between the Base and
the First point is created and displayed. , and
the message box now displays 'Indicate Next
Stack Reference'. In the drawing area, click
the Next point on the entity to be
dimensioned. On clicking on the Next point,
Figure 10-10 Stack Vertical Dimension
a dialog box appears asking for the Gap
between the two text to be displayed. Enter the value for the Gap. This value gets fixed for the
present session. Default is 20 and in a similar way user can create further vertical stack
dimension.
10.4.2.4 Co-Ordinate
On invoking this option: The message box displays the message 'Specify Dimension Origin point'.
In the drawing area, click the Origin point on the entity to be dimensioned. This point is going to
serve as the base reference point for further dimensioning.
10.4.2.5 Cumulative
Using this option, users can create vertical dimensions to
mark the cumulative distance from a given point. On
invoking this option, the system would prompt: 'Select
First Dimension Reference'. In the drawing area, click the
Origin point on the entity to be dimensioned. This point is
going to serve as the base reference point for further
dimensioning. On selecting this reference, the system
would prompt: 'Select Second Dimension Reference'.
When this reference is also selected, the system would
prompt: 'Select Dimension Text Position'. The user can
now place the dimension entity at the desired location.
Figure 10-12: Cumulative Vertical Dimension
Users can specify more dimension references and the
cumulative dimension entities would get created at the
same vertical level as that of the first entity. Press Enter key to complete the operation.
10.4.9 Match
On invoking this option, the user is prompted to select the Reference and Target entities. On
selecting these entities and pressing the Enter key, a Tabbed Dialog box will be displayed with
General and Drafting properties. The default values displayed are that of the Reference Entity.
Only the properties selected by ticking in the check box, displayed on the left of the property
label, will be modified.
The user can also change the value of the ticked properties to any other desired value. In that
case, the user has the option to specify whether the properties of the Reference Entity also shall
be modified. If this option is selected, the properties of the Reference Entity also will be modified.
Otherwise, those of the target entities alone will be modified.
10.5 Annotation
The options in this menu used to add various symbols on a view.
10.5.1 Note
On invoking this option, a dialog box appears prompting the user to input the text to be displayed
in the Note along with the text alignment, line spacing and text style like Bold/Italic. The user can
also select any special character/symbol like phi, degree etc from the Symbol option. The
message box displays the message 'Enter Text'. On clicking OK in the dialog box, the message box
displays the message 'Specify Position'. Click at the position where the Note is to be created; and
the Note would be created at the desired position. Users can create any number of Notes with
the same text by merely specifying the position.
10.5.2 Hatch
Using this option users can create a Hatch entity from a set of boundary curves. On invoking this
option, the system would prompt to select the boundary for Hatch. Once the desired curves are
selected and Enter is pressed, the system would prompt for the Hatch Parameters. On
successfully proving the parameters the Hatch entity would be created.
10.5.3 Symbols
Using this option user can create the following type symbols which is used in manufacturing
drawing extensively.
• Welded Joints
• Weld
• Die Design
• Geometric Tolerance
• Surface Texture
On invoking this option, a dialog box will be displayed to select the category, and the
corresponding symbol from the combo box will be available to the user. The width and the height
of the symbol can also be specified by the user according to his requirement. After Pressing OK
button user can add his symbol to the entity he wants to specify.
10.5.4 Balloon
With this option the user can create a balloon with an arrow pointing to the entity. On invoking
this option: The message box displays the message 'Indicate Entity'. Click the Entity for which
the Balloon is to be created. The message box now displays the message 'Specify Balloon
Position'. Click the required Balloon Position Center. The message box now displays the message
'Enter balloon Type'. At this point indicate the Number of partitions required (ranges between 1
to 4) in the Balloon. Next, the user is prompted to Enter the text in each of the partitions. Enter
Text and Press ok. A Balloon is created with an arrow pointing to the entity.
particular surface. With this option the user can create a Surface Texture Symbol and associated
symbol with an arrow pointing to the entity. On invoking this option, the message box displays
the message 'Indicate Entity'. Click the Entity for which the Surface Texture Symbol is to be
created. After entering the surface texture parameters indicate the required position. A Surface
Texture Symbol is created with an arrow pointing to the entity.
• To delete a menuitem from menu (eg. for menuitem(Close) of menu(File)) user have to
follow in this way
menubar.getMenu("File").deleteItem("Close");
• To delete a menu from menubar (eg. Help menu from MenuBar) user have to follow in this
way
menubar.removeMenuFromMenuBar("Help");
• To add a menu to menubar (e.g. Admin menu to MenuBar) user have to write an xml file
containing the menu and its menuitem details (see the sample xml file format)Sample
MenuBar XML configuration File. After that user have to follow in this way
menubar.addMenuToMenuBar("MenuBarAdmin.xml",null, numItems-1);
• User has to provide xml file name and if there are any common arguments to all method then
he can pass the reference of it else write null and index on which menu is to be added.
11.1.3.1 MENUBAR
MENUBAR needs five attributes and can contain one or more number of MENUs. The attributes
are
• METHOD_CLASSLIST - This is the list of classes where all the java method exists. The
method declared in class can be in different packages. User can put these multiple paths
separated by semicolon.
• CONSTANT_CLASSLIST - This is the list of classes where all the constant exists. The constant
declared in class can be in different packages. User can put these multiple paths separated
by semicolon.
• JYPATH - This is the list of paths where .py files exists in users’ machine. The .py files can be
in multiple directories. User can put these multiple paths separated by semicolon. The
ToolPalette uses the paths provided to find the required .py files.
• JYEXECUTOR - This is the jython executor. User has to provide this in the format
'Class/Method' to execute Jython scripts.
IMGPATH - This is the list of paths where the image files exist in users machine. The image
files (eg .gif) can be in multiple directories. User can put these multiple paths separated by
semicolon. The ToolPalette uses the paths provided to find the required image files.
11.1.3.2 MENU
MENU has following attributes
• TEXT - This is the text of the MENU.
• MNEMONIC - This is the mnemonics of the MENU. This is Optional.
• IMAGE - This is the image of the MENU. This is Optional.
• ENABLED - This is the enable/disable status of the MENU. This is Optional.
11.1.3.3 SEPARATOR:
This is the separator between menu items.
11.1.3.4 MENUITEM:
It has following attributes
• TEXT - This is the text of the MENUITEM.
• MNEMONIC - This is the mnemonics of the MENUITEM. This is Optional.
• IMAGE - This is the image of the MENUITEM. This is Optional.
• ACCELARATOR - This is the accelerator key for the MENUITEM. This is Optional.
11.1.3.5 ACTION
Action needs one attribute and two elements. They are
• LANG - This is the attribute of ACTION element. This is either "JAVA" (if it is java method) or
"JYTHON" (if it is a .py script file).
• METHOD - User must provide a method that is callable statically from METHOD_CLASSLIST.
If user mentions some method that is not there with the appropriate arguments or the
method is not invokable then the user will see an error at the time of displaying the Tool
Palette or when he clicks on such a menu item button. If LANG="JYTHON" then method name
must be a Jython Script file name (eg. toleracne.py).
• ARGUMENT - User may need to provide the ARGUMENTs if the LANG="JAVA". If
LANG="JYTHON" then provide no ARGUMENT elements. ARGUMENT element needs one
attribute.
o TYPE - Argument type (i.e. INT, BOOLEAN, STRING)
o USEREFLECTION - Use Reflection or not to get the arguments value.
the "D" button on it. To kill the ToolPalette click "X" button on it. To see this help file click on "H"
button.
At the center of the tool palette user can see different tabs (e.g. Solid, Surface, etc.). When a user
clicks on a particular tab, different tool items will be displayed under the different groups. On
clicking a particular tool item (i.e. a button), the user can perform the attached operation. Tool
Palette also provides description of each tool item to the user by simply moving the cursor on
the Tool Item.
11.2.3.1 TOOLPALETTE
TOOLPALETTE needs three attributes and can contain one or more number of TOOLPANELs. The
attributes are
• TITLE - This is the title of the TOOLPALETTE.
• JYPATH - This is the list of paths where .py files exists in users’ machine. The .py files can be
in multiple directories. User can put these multiple paths separated by semicolon. The
ToolPalette uses the paths provided to find the required .py files.
• IMGPATH - This is the list of paths where the image files exist in users machine. The image
files (eg .gif) can be in multiple directories. User can put these multiple paths separated by
semicolon. The ToolPalette uses the paths provided to find the required image files.
11.2.3.2 TOOLPANEL
TOOLPANEL needs one attribute and consists of one or more number of BLOCKs. The attribute
is.
• TITLE - This is the title of the BLOCK.
11.2.3.3 BLOCK
BLOCK needs one attribute and consists of one or more number of ROWs. The attribute is.
• TITLE - This is the title of the BLOCK
11.2.3.4 ROW
ROW needs no attributes but one or more numbers of TOOLs. A TOOL represents a user clickable
button in the Tool Palette Panel.
11.2.3.5 TOOL
TOOL consists of
• TOOLTIP - This is the tooltip for tool button.
• IMAGE - This is the image (image icon) for tool button.
• DESC - This is the description of tool item to be displayed in the bottom of the Tool Palette
when user rolls over the mouse on the respective tool item button.
• ACTION - Action needs one attribute and two elements. They are
o LANG - This is the attribute of ACTION element. This is either "JAVA" (if it is java
method) or "JYTHON" (if it is a .py script file).
o METHOD - User must provide a method that is callable statically from
incad.gui.GUIOperations class. If user mentions some method that is not there with
the appropriate arguments or the method is not invokable then the user will see an
error at the time of displaying the Tool Palette or when he clicks on such a TOOL item
button. If LANG="JYTHON" then method name must be a Jython Script file name (e.g.
toleracne.py).
o ARGUMENT – User may need to provide the ARGUMENTs if the LANG="JAVA". If
LANG="JYTHON" then provide no ARGUMENT elements. ARGUMENT element needs
one attribute
▪ TYPE - Argument type (i.e. INT, BOOLEAN)
12.1 Import
Option to import IGES, STEP, STL, XML and BREP formats. When the user selects one of the
options from the import menu, a file chooser dialog will prompt the user to select the directory
and file. When the user repeats the operation the file chooser dialog will show the last visited
directory.
It is for visualization (wireframe, facet, facet with edges, zebra strip) purpose. Once user selects
the file (STL, st, stl) in file chooser and the STL data is processed, user is informed about of the
'cadmesh' entity in tabular form.
• C2: IGES Spline curves are broken down into pieces of C2 continuity. This parameter does
not change the continuity of curves that are used in the construction of IGES B-Rep entities.
Once the 'Read' button is pressed, a progress bar dialog is displayed. It shows the percentage
(based on number of entities/B-Rep) being processed. The following messages are echoed on the
console (from the underlying geometric kernel).
• Total number of loaded entities: 200.
• Info: ShapeProcess_Context: Reload Resource_Manager: -> IGES
Approach 1 (At Entity Level):
• In this case, post-processing provides the information about the entities required to build
the IGES file. It returns all geometric entities used in the IGES file.
• Enabling points or curves or surfaces are suitable for reading wireframe or surface model
IGES data.
Type IGES entity Type CollabCAD entity
Note: This table will be updated as and when more geometrical entities are mapped to CollabCAD
geometrical entities
Approach 2 (At B-Rep Shape Level):
In this case post-processor provides the information extracted from the B-Rep shapes inside the
IGES file. It reads all the B-Rep shapes from the IGES file. It does not consider the creation of the
shapes. It works only on the topology which is present in the IGES file. Post-processor reads the
B-Rep shapes in the IGES file, takes the count of it. Then it checks the type of each shape (e.g.
Vertex, Face, Edge, Solid or Compound etc.).
According to this topology type, the post-processor maps shape type to respective CollabCAD
entity type. e.g. In case of Face, it converts it into geometrical surface/freeform surface instance
and in case of Edge it converts it into CollabCAD Curve. For 'Solid', it is mapped to freeform solid
entity or for 'Compound' type, it maps the to a CollabCAD 'BREPShape' entity. For example, in
case of Trimmed surface it will create a BREPShape (B-Rep type is 'shell'). User can at any time
use the 'Explore' curves functionality to get the underlying editable geometrical curves. Clicking
the READ button, IGES entity data in the file is post-processed. Post-processed information’s are
displayed in a tabbed pane output.
The first tab "General" displays File Name, Start and End Time of the process, and the Tolerance
and Unit used in the IGES file
The second tab "Input" displays total of IGES entities read by the post-processor. 'NotProcessed'
implies that the entity has been read but not mapped to CollabCAD entity.
The third tab "Output" displays the mapped CollabCAD entities. Then entities are created based
on the Import option checked by the use
position of each vertex, the UV position of each texture coordinate vertex, vertex normals, and
the faces that make each polygon defined as a list of vertices, and texture vertices.
CollabCAD supports parsing of .obj file and it is represented visually in the form of 'cadmesh'
entity. It is for visualization (wireframe, facet, facet with edges, zebra strip) purpose. Once user
selects the file (obj, oj, OBJ) in file chooser and the OBJ data is processed, user is informed about
of the 'cadmesh' entity in tabular form.
12.2 Export
Option of exporting to STEP, IGES, VRML, BREP, STL, JSON and XML formats. When the user
chooses one of the formats from the export menu, the file chooser dialog will prompt the user to
select the directory and file name. The user can either export the whole part or else selected
entities. When the user repeats the operation the file chooser dialog will show the last visited
directory.
STL export supports creating STL files in ASCII and Binary format from CADSolid/CADSurface
entities. User can set the file type in Tools->Part Options -> Translators tab for getting the
required file type. Default is set to ASCII file. In the case of exporting a selected number of entities,
the user needs to select the entities by any of the available methods (mouse right click) such as
"Select by Layer", Region etc. After selecting the required entities, he must press enter. To select
all the entities, press Shift +B. A file chooser dialog prompts the user for the directory and file.
The user can also export a single entity(point/curve/surface/solid) to OpenCASCADE BREP
format (ASCII) file. This format is used for saving OpenCASCADE topological shapes. User invokes
by choosing File -> Export -> BREP. A file chooser prompts to select the directory in which the
BREP(*.brep) file is created. User can also export CADSolid/CADSurface to JSON format that can
be visualize in CollabCAD 3D Viewer
jython-21
To execute the file any of the following command can be used, depending on the system. Be sure
not to put ".class" at the end of the file name.
java jython-21
jre jython-21
jview jython-21
13.1.3 Identifiers
All data and code is seen as an object. An identifier is a name that is used to identify an object.
The language treats the variable name as a label that points to a value.
A variable is untyped and can take any value. Example:
x = 100
x = 'Hello'
In the above example, variable 'x' can take any type of value. It also supports multiple assignment.
Example:
>>> print x
>>> print y
200
Jython supports only one null value, with the reserved name of 'None'. Jython has not separate
boolean type. For numeric types, zero is considered to be false and all other values true. For
structured types (that is, sequences and maps), an empty structure is considered to be false and
others true. The None value is always false.
x = 100
if x > 0:
else:
13.1.5 Operators
The operators that are used by Jython are very similar to those used in other languages.
Operators such as +, -, *, and /, are available for performing calculations. Several statements can
be written on the same line when they are separated by semicolon (;). Other operators are listed
below:
- Subtraction 5-2 3
* Multiplication 5*2 10
** Power Operator 5 ** 2 25
x==y x<>y Comparison operators(equal, not equal, greater x = 5; y = 10; x > y false
than, less than)
x!=y x>y
x<y x<=y x>=y
13.1.6 Strings
A string is a sequence of characters, which is immutable. An immutable object is one that cannot
be changed after it is created. However, there are quite a few string methods that can be used to
manipulate the contents of a particular string. Actually they never manipulate the contents
though, these methods return a manipulated copy of the string. The original string is left
unchanged.
Example:
>>>temp_string.capatalize()
>>>temp_string.count('w')
13.1.7 Functions
Functions are named portions of code that usually perform one or more tasks and return a value.
In order to define a function, use the 'def' statement.
Functions can accept parameters, or other program variables, that can be used within the context
of the function to perform some task and return a value.
Syntax:
Example:
return x*y
13.1.8 Classes
Classes are defined using the 'class' keyword. Classes can contain functions, methods, and
variables. Methods are just like functions in that the 'def' keyword is used to create them, and
they accept parameters. The only difference is that methods take a parameter known as 'self' that
refers to the object to which the method belongs. Classes contain what is known as an initializer
method, and it is called automatically when a class is instantiated.
Example:
class emp_class:
self.name = name
self.empCode = empCode
def showemp(self):
>>>emp1 = emp_class('John', 1)
>>> emp1.showemp()
13.1.9 Statements
13.1.9.1 if-elif-else statement
The if statement simply performs an evaluation on an expression and does different things
depending on whether it is 'True' or 'False'. If the expression evaluates to 'True' then one set of
statements will be executed, and if it evaluates to 'False' a different set of statements will be
executed.
Syntax:
perform an action
else:
Example:
x = 3
y = 2
if x == y:
elif x > y:
else:
print 'Hello'
my_value = 'Jython'
print my_value
There are some formatting operators that can be used with print statement.
- %s String
- %d - Decimal
- %f - Float
num = 10
pi = 3.14159
name = 'John'
Output:
13.1.9.3 try-except-finally
The 'try-except-finally' is the supported method for performing error handling. When we try to
run a piece of code and if it fails then it is caught, and the error is handled in a proper fashion. If
there is an exception that is caught within the block of code and there is a need to perform some
cleanup tasks, the cleanup code is placed within the final clause of the block. All code within the
'finally' clause is always invoked before the exception is raised.
x = 9
try:
except:
Output:
13.1.9.4 raise
The 'raise' statement is used to throw or raise an exception. Place a 'raise' statement anywhere
where user wish to raise a specified exception. Specify message within a raise can be given by
raising a generic Exception, and then specifying message on the statement as follows.
13.1.9.5 import
The 'import' statement brings external modules or code into a program so that it can be used.
This statement is ultimately responsible for reuse of code in multiple locations.
If a class is stored in an external module that is named the same as the class itself, the 'import'
statement can be used to explicitly bring that class into an application. Specific identifier from
another module can also be imported.
Another Example:
13.1.10 Iteration
13.1.10.1 While Loop
The 'while' loop construct is used in order to iterate through code based upon a provided
conditional statement. If the condition is true, then the loop will continue to process. Once the
condition evaluates to false, the looping ends. The pseudocode is as follows:
while True
The loop begins with the declaration of the 'while' and conditional expression, and it ends once
the conditional has been met and the expression is True. The expression is checked at the
beginning of each looping sequence, so normally some value that is contained within the
expression is changed within the suite of statements inside the loop. Eventually the value is
changed in such a way that it makes the expression evaluate to False, otherwise an infinite loop
would occur.
Example:
x = 5
y = 2
while y < x:
y += 1
Output:
y is 3 less than x
y is 2 less than x
y is 1 less than x
Example:
for x in range(5):
print x
Output:
A range is a built-in function for Python which simply provides a range from one value to another.
13.1.12 Lists
There are number of containers for storing and manipulating data within an application. Lists
can be used to store data of different types. This means that a list can be used to store any Python
data type (heterogeneous), and these types can be mixed within a single list.The list can be
constructed and modified as the application runs(mutable), they are not declared with a static
length. They are easy to traverse through the usage of loops, and indexes can also be used for
positional placement or removal of particular items in the list.
my_list = []
my_list = [1]
The index can be used to insert or remove items from a particular position. Some functions of list
are listed below:
Functions Description
append(x) To add an item to the end of a list
pop([i]) Deletes and return the last element in the list or element at index i
13.1.13 Tuples
Tuples are much like lists; however, they are immutable. Once a tuple has been defined, it cannot
be changed. They contain indexes just like lists, but again, they cannot be altered once defined.
Therefore, the index in a tuple may be used to retrieve a particular value and not to assign or
modify. Because they are immutable, their size does not grow once they have been defined, so
tuples can also play an important role when memory allocation is a concern.
>>> myTuple = ()
>>> myTuple2
>>> arr.add(1)
True
True
[1, 2]
13.1.15 Modules
Breaking of code into parts known as Modules helps to organize the large code bases. Modules
are helpful for creating libraries that can be imported and used in different applications that
share some functionality. Some of the most commonly modules are:
• sys module containing methods: argv, exit, stdin, version
• os module containing methods: system, wait, kill
• math module containing methods: acos, asin, pi, sqrt, floor
• time module containing methods: localtime, sleep, time, daylight
import sys
print arg
Execution:
$ jython args.py 1 2 3 4
Output:
args.py
The above script take input from the command line. The first argument in sys.argv is the script
name (args.py) and rest of the elements(values) are passed after that.
Users can program their own scripts and can also execute those scripts directly in CollabCAD
using menu option: Tools->Execute Script. This will create objects directly on CollabCAD canvas.
Some example scripts are available with CollabCAD for better understanding.
• GUI functions: Colour setting, shading(facets), View selection, Message dialog, etc.
• Workspace creation
• Analysis operations: Length/ Area calculation, Radius of curvature, Surface bounds etc.
• Dimensioning: Horizontal, Vertical, Parallel, Liner, Adding label/ notes etc.
Detailed list of all operations/functions and their description are available in user manual of
CollabCAD.
theApp = incad.getScriptingInstance()
#Point Creation using an object of Incad class. this will give CADPoint
p1 = theApp.addPoint(200,200,55)
p2 = P3d(100,100,-50)
#Create an arc
#Create a Line
theApp.addEllipse(164.0,78.0,0.0,54.0,20.0,0.0,360.0,45.0,0)
theApp.addPlane(218,156,0,209,132,0,245,135,0)
startp = theApp.addPoint(100.0,0.0,0.0)
endp = theApp.addPoint(100.0,100.0,0.0)
radius = 10
theApp.addCylinderSurf(startp, endp,radius)
#Create a CollabCAD SolidBox entity by calling the method using two corner
points
box1 = theApp.addBox(p1,p2)
# Creating Solid Cone using two Point3d objects and top,base radii
p1 = P3d(100.0,0.0,0.0)
p2 = P3d(100.0,100.0,0.0)
radius = 10
radius2 = 40
#Creating 2d fillet
p1 = Point3d(0,0,0)
p2 = Point3d(100,0,0)
p3 = Point3d(100,100,0)
p4 = Point3d(0,100,0)
cr1 = theApp.addLine(p1,p2)
cr2 = theApp.addLine(p2,p3)
cr3 = theApp.addLine(p3,p4)
cr4 = theApp.addLine(p4,p1)
curv1 = [cr1,cr2,cr3,cr4]
cadent1 = theApp.addSlab(4,curv1,100)
theApp.setSingleView(3)
pt = Point3d(50.0,35.0,0.0)
p6 = Point3d(50.0,35.0,0)
p7 = Point3d(50.0,50.0,0)
p8 = Point3d(35.0,50.0,0)
c1 = theApp.addLine(p5,p6)
c2 = theApp.addLine(p6,p7)
c3 = theApp.addLine(p7,p8)
c4 = theApp.addLine(p8,p5)
prof = [c1,c2,c3,c4]
cadent2 = theApp.addSolidRevolveFeature(cadent1,pt,prof,p2,p3,360.0,0)
name = 'offset1'
theApp.setName(entity1, name);
theApp.setColour(o1,255,0,0)
pnt1 = P3d(-99,24,0.0)
pnt2 = P3d(99,24,0.0)
pnt3 = P3d(0.0,50,0.0)
pnt4 = P3d(6,30,0.0)
name = "collabCADWsp"
area= theApp.area(cone)
print area
print dist
13.2.2.11 Dimensioning
Examples below shows different dimensioning options of CollabCAD:
Math.max(6,12)
12L
Math.pow(2,3)
8.0
Math.round(10.766)
11L
f = JFrame('Hello, World!')
f.defaultCloseOperation = JFrame.EXIT_ON_CLOSE
f.locationRelativeTo = None
f.visible = True
Using JOptionPane
jPan = JPanel()
13.3.1 Create
This option is to create component library. For creating a component, user writes a script or use
STEP file for creating a component. There are different ways to create a component library: With
Table, Without Table and using STEP file.
For creating component library using with and without table option user requires a script file for
component creation. The user (creator of component library) have to keep some points in mind.
While adding a script to the tool library, the field names in the table that the creator will use
correspond to the parametric variables in the script to be added to the database. Thus, during
creation of a script the creator should use meaningful names for the parametric variables. On
execution, a parametric script will pick up data from the table and no longer prompt the user
with a description of the parameter. The first table row indicating the parameters are to work as
a guide to the user of the script as to what each column represents. Example: Use "diameter" or
"dia" instead of "d1" to represent diameter.
During creation of a script the creator should not use any variable/parameter in uppercase. If a
script has two parameter "dia" and "DIA" or "Dia" during creation of the table for this script,
postgresql cannot distinguish between "dia" and "DIA" or "Dia". (Postgresql cannot create table
with separate fields "dia" and "DIA" or "Dia" as these means the same as field "dia" to it).
For creating component library using STEP option, user will provide a STEP file and store any
STEP component to be used as a standard part from the component library.
13.3.2 Use
This option is for using component from component library. For tabular components, user can
select a row form the parameter table and can use the desired component. In components
without table, there is no parametric table attached to the components, so the component will be
loaded directly on the CollabCAD 3D Canvas. User can also use STEP component, that will also be
loaded directly on the CollabCAD 3D Canvas.
13.3.3 Modify
User can modify component from component library. Components in component library with
tables can be modified by editing parameters or adding/deleting/editing rows. Users can even
replace scripts and image. Users can delete or rename components in component library
without tables and STEP. As no table is attached to these components so there is no further
modification possible in without table and STEP components.
13.3.4 Database
User can create and use component from component library using database. Under this option
CollabCAD supports Standard and Tool Libraries
14.2.2 Share
e-CollabCAD facilitate easy sharing of uploaded 3D models. Users can instantly and easily share
their models in the public domain.
Shared model will be available in public library for all users. Anyone can view the shared
(published) model from library.
User can also have privilege to un-publish an already published model accordingly.
14.2.3 View
Models that user uploaded in his account can be viewed with the help of WebGL supported
browser. A WebGL enabled browser alone can able to view 3D models.
However, the level of support and the expected performance varies between different browsers.
In modern browsers like Google Chrome 56 and higher, Mozilla Firefox 51 and higher, Safari 8
and higher, MS Edge 14, Internet Explorer 11 , WebGL is enabled by default.
15.1 Introduction
3D CollabCAD viewer comprise of various features as it incorporate with model tree which
provides the information regarding geometry, vertices, faces and other additional information
for users to view and examine 3D CAD and mesh model methodically in detail.
It owns with functionalities like one can change shading quality, background colour, material
colour with the uploaded models as well as with our provide basic primitives.
With these uncounted features one can view and observe the face normals, vertices normals and
visual structure of uploaded 3D object.
e-CollabCAD web application yield lots of features that make easy deployment of 3D CAD and
mesh models, share and view them in WebGL enabled modern web browsers. 3D models are
rendered on the 3D web viewer with the help of WebGL and HTML5.
e-CollabCAD gives the flexibility to access CAD data anytime, anywhere on any device. We offer
fully cloud based portal so user can utilize all features and functionalities of e-CollabCAD over
any device, irrespective of user's location.
If web browser of device supports WebGL then user can access 3D viewer any time as CollabCAD
viewer works on all browsers that supports WebGL. 3D models are rendered with the help of
WebGL and HTML5.
• Top – Its viewing plane will be Z-X Plane. Bottom – Its working plane will be X-Z Plane.
• Left – Its viewing plane will be Z-Y Plane. Right – Its working plane will be Z-Y Plane.
• Front – Its viewing plane will be X-Y Plane. Back – Its working plane will be X-Y Plane.
• Isometric – It will change the view to the isometric view and viewing plane will be the plane
in which X, Y, Z will make equal angles.
• Auto fit – This option scales the view such that all the entities on the scene will be fit within
the view.
15.4 Primitives
• User can create the primitive like box, cylinder, cone, sphere, and torus.
• When any of the option is clicked one dialogue box will appear asking for the dimension of
the primitive and origin for the primitive to be created.
• The dialogue box won’t disappear, and user can create another entity or press cancel button
to disappear the dialogue box.
• User can create many primitives over canvas as well as with uploaded model.
15.5 Shading
• Smooth – It uses linear interpolation of either colours or normals between vertices.
• Flat – It will apply the same colour for every pixel in a face.
• Glossy – Glossy refers to the ability of a material to reflect light in the specular direction.
• Wire mesh – This option will show wireframe of all the models.
• Textured – In this a texture will be applied to the geometry.
15.10 3D Environment
An option (Options >> Colour Setting Tab >> 3D Environment) is provided to the user to add 3D
environment scene /background. Cube mapping technique is used to implement 3D
Environment Background. In this technique an imaginary cube is created with six textures, one
texture for each one of the cube's face.
An environment map is typically a texture or set of textures that contains an image of the scene
surrounding a given object. This object can be reflective or refractive.
• Reflection mapping occurs when light bounces off of a reflective surface.
• Refraction mapping occurs when light passes through the object.
Cube map is used for creating 3D Environment Map. A Cube map is a panoramic view of a scene
that has been mapped inside the cube.
15.12 Translate/Rotate
These functionalities are very useful for clear perception of 3D model as a small translate/rotate
can make 3D model more observable.
• Translate- Easy translate of 3D model by providing x, y, z coordinates.
• Rotate- 3D model can be smoothly rotate by providing x, y, z value in degree.
Note: Rotate and translate need at least one value from x, y, z.
16.1.3 Tutorial
With this choice, CollabCAD tutorial will be invoked by the browser (like Netscape or IE). To
invoke tutorial section, click on "Tutorial" menu.
Section 2
Tutorials
17.1 Introduction
Machine Block example has a basic model design that is designed using CollabCAD 2.5.0
Windows version. This example is a good exposure for CAD beginner. User can follow the steps
to create machine block. This model is quite simple and compressive to learn 3D modeling and
detailing in CollabCAD.
17.2.2 Step 2
Set the work plane and view
• Select View >> Front or press CTRL+F
• Press F (from keyboard) to Auto fit in the screen. X-Y coordinate system marker will be
visible in the center.
17.2.3 Step 3
Create profile curves.
• Draw a line using menu option: Basic >> Line >> Screen Position
• Right click in workspace, select Workspace Origin
Note: Pressing keyboard “I” Enable / Disable Implicit selection
About Implicit selection mode (“I”)
Through this mode, users can select implicitly existing points like end points of curves,
vertices of surfaces and solid. This method can be invoked by pressing the “I” Key or by
clicking the corresponding Tool Bar icon. During implicit selection mode, the cursor would
change to Arrow Cursor, and the Tool Bar icon would change the color. When the mouse is
moved in Implicit selection mode, the nearest focal point of the nearby entity would be
highlighted. User can now select the desired point by simply pressing the left mouse button.
This mode can be revoked by again pressing the “I” Key or by clicking the Tool Bar icon once
again.
Ensure that implicit mode is off/disabled before executing next
step.
About T press (“T”)
Keyboard ‘T' press is used to input Delta values for line creation.
• Now press keyboard 'T' to input Delta values in line creation
dialog and click OK
Figure 17-4: Line Creation
X = 0, Y = 65, Z = 0 dialog box
• Again, press keyboard “T” to input Delta values in line creation
dialog and Click OK
X = 15, Y = 0, Z = 0
• Repeat the above operation with following values
X = 0, Y = -15, Z=0
X = 30, Y = 0, Z = 0
X = 0, Y = 15, Z = 0
X = 15, Y = 0, Z = 0
X = 0, Y = -65, Z = 0
X = -60, Y = 0, Z = 0
• Press Enter to complete the operation Figure 17-5: Profile curves
17.2.4 Step 4
As the profile with curves is complete, now build a Solid entity from profile curves.
Use the Solid Slab entity option in Solid’s menu
• Create a solid on the profile curves using menu
option: Solid >> Slab
• System will prompt to select the set of curves
(profile)
• Right click the mouse button and choose chain
selection from the list to select set of continuous
curves automatically.
• In case, any curve is left in the loop/chain, use left
mouse click on the curve to select it. Figure 17-6: Solid Slab
17.2.5 Step 5
Create another set of Profile curve
• User may blank/hide existing entities on the canvas
before making new profile(optional)
• Draw a 2D profile by joining of lines.
• Go to Basic >> Line >> Screen Position
Note: Implicit mode should be off
• Right click in workspace, select Workspace Origin
• Then press keyboard “T” input Delta values in line Figure 17-7: Profile curves
creation dialog and click OK
X = 0, Y = 43, Z = 0
• Repeat the above step for the following Points
X = 60, Y = 0, Z = 0
X = 0, Y = -43, Z = 0
X = -60, Y = 0, Z = 0
• Press Enter to complete operation
17.2.6 Step 6
As the profile with curves is complete, now build a Solid.
• Use the Solid Slab entity option in Solid’s
menu: Solid >> Slab
• System prompts to select the set of curves
(profile)
• Right click the mouse button and choose
chain selection from the list to select set of
continuous curves automatically.
• In case, any curve is left in the loop/chain, use
left mouse click on the curve to select it.
• Now Slab creation options dialog will open,
select “One Direction”, Thickness1 =22, and
click OK or hit Enter to complete the Figure 17-8: Solid Slab
operation.
It will create a solid 3D shape, and entity will be added to the model tree.
17.2.7 Step 7
Set the work plane in which to create 2D sketch or profile (set of curves)
Select right view as working plane View >> Right or press CTRL + R
17.2.8 Step 8
Create another profile curve
Draw a 2D profile using menu option: Basic >> Line >> Screen Position
• Ensure Implicit mode is off. Press ‘I’ to enable/disable implicit mode
• Right click on canvas, select Enter Coordinates
17.2.9 Step 9
As the profile with curves is complete, now build a Solid.
• Use the Solid Slab entity option in Solid’s menu: Solid >> Slab
• System prompts to select the set of curves (profile)
• Right click the mouse button and choose chain selection from the list to select set of
continuous curves automatically.
• In case, any curve is left in the loop/chain, use left mouse click on the curve to select it.
• Now Slab creation options dialog will open, select “One Direction”, Thickness1 =30, and
check ‘Reverse Direction’ option, then click OK or hit Enter to complete the operation.
It will create a solid 3D shape, and entity will be added to the model tree.
17.2.10 Step 10
Use the Boolean Union operation to join all created Solid Part
To join the solid part, use the Boolean operation
• Go to Solid >> Boolean >> union of solid
• Select the parts by mouse left click (Note: Un-blank all the slab entities)
• Then press Enter key
• Don’t forgot to save part (muz file).
Result after joining all solid slabs will be a solid object as shown
17.2.11 Step 11
Plot Configurator 2D Drawing Sheet (Optional step)
Open plot Configurator for creating the 2D drawing views and detailing
• Go to File >> Plot Configurator
Now plot configurator application will open in new window
• Setup Page, using plot configurator menu option: File >> Page Setup
• Fill the details (Paper Size- A2) then click OK. Mostly, A2 sheet is used in Industry
• For 2D Drawing go to View >> Standard
• Go to View >> Isometric
• Drag the area for isometric view at the viewport.
• Go to View >> Auto Fit
• Use the various options in the Dimensions to create linear, radial dimensions.
• Use the Section view (View->Section) to generate the sections on the solid part.
• Complete the Title Block with the desired information and save the drawing sheet to desired
MUP file.
17.2.12 Step 12
Export to STL format (Optional step)
• Open the completed model in CollabCAD
• Export the model to STL file format using: File >> Export >> STL
• Then press Shift + B to select all the solid entities and the STL file by any desired name
18.1 Introduction
This model is designed in CollabCAD 2.5.0 Windows version. This model will help CAD beginners
to acquire knowledge of 3D modelling using CollabCAD. Users will be able to create the same
model by following the steps given in this tutorial. This model is quite simple for learning 3D
modeling and detailing in CollabCAD.
18.3.1 Body
18.3.1.1 Install CollabCAD 2.5.0 version and open a new part
After successful installation, execute CollabCAD from Start->CollabCAD Standalone. This
will open CollabCAD application window.
• Go to File >> New >> Part design
• Give a name of the part, say ‘Body’
• Select Units as ‘mm’, Drafting Standard as ‘IS’
• Press Enter or Click OK
The User interface with menu bar, toolbar, and Model tree and tool palette will be visible to the
user.
18.3.1.2 Set the work plane to create 2D sketch or profile (set of curves)
• Select View >> Front or press CTRL+F
• Press F (from keyboard) to Auto fit in the screen. X-Y coordinate system marker will be
visible in the center
It will create a solid 3D shape, and entity will be added to the model tree.
User can use shaded mode for better visualization. Press ‘S’ to shift to shadded mode and press ‘R’ to
refresh
To make shape hollow (remove material) from the solid part, use the Boolean operation
• Go to Solid >> Boolean >> Difference
• Select Solid Object as the base solid for difference i.e. part to be retained using left mouse
click
• Now, click the part to be removed i.e. Cylinder and press Enter key
This will remove the desired solid part from the object and resultant object will be added to the
model tree. Save the part using File >> Save
18.3.2 Gland
18.3.2.1 Open the New Part
• Go to File >> New >> Part design
• Give a name to the part, say Gland
• Select Units as ‘mm’, Drafting Standard as ‘IS’
• Press Enter or Click OK
The User interface with menu bar, toolbar, and Model tree and tool palette are visible.
18.3.2.2 Set the work plane in which 2D sketch or profile (set of curves) is to be created
• Select View >> Front or press CTRL+F
• Press F (from keyboard) to Auto fit in the screen. X-Y coordinate system marker will be
visible in the center.
X1 = 0, Y1= 0, Z1 = 0
X2 = 0, Y2= 0, Z2 = 45, Radius = 21
18.3.2.7 Use the Union of Solid operation to Join all the Solid Part
For line L2
XT1 = 12, YT1 = 3, ZT1 = 0
XT2 = 12, YT2 = 57, ZT2 = 0
For line L3
XT1 = 23, YT1 = 57, ZT1 = 0
XT2 = 23, YT2 = 69, ZT2 = 0
Now user will get following solid 3D shape, and entity will be added to the model tree.
This will remove the desired solid part from the object and resultant object will be added to the
model tree.
• Final Gland part is shown below. Do save the part using File >> Save
18.3.3 Bush
18.3.3.1 Open the New Part
• Go to File >> New >> Part design
• Give a name to the part, say Bush
• Select Units as ‘mm’, Drafting Standard as ‘IS’
• Press Enter or Click OK
The User interface with menu bar, toolbar, and Model tree and tool palette are visible.
18.3.3.2 Set the work plane to create 2D sketch or profile (set of curves)
• Select View >> Front or press CTRL+F
• Press F (from keyboard) to Auto fit in the screen. X-Y coordinate system marker will be
visible in the center
This will join cylinders into a single object, and it will add an object to the model tree.
For line L1
XT1 = 0, YT1 = 21, ZT1 = 0
XT2 = 0, YT2 = 0, ZT2 = 0
For line L2
XT1 = 12, YT1 = 0, ZT1 = 0
XT2 = 12, YT2 = 18, ZT2 = 0
• Now, create a point using menu option: Basic >> Point >> End Coordinates
P1 (XT, YT, ZT) = (21 21, 0)
• Now, join points to create 2D Profile. Go to Basic >> Line >> Screen Position
• Enable Implicit Mode (Press ‘I’ to enable/disable implicit mode) to auto pick points. Red
marker indicates point to be selected.
• Select start and end point of the lines and press enter to complete the operation
• Note- Press Esc key or Enter key to leave the line creation control
• Join points to get the following 2D profile
• Select lines as cross section curves. Right click the mouse button and choose chain selection
from the list to select set of continuous curves automatically.
• In case, any curve is left in the loop/chain, use left mouse click on the curve to select it.
• Press Enter
• Now Revolution Solid creation options dialog will open. Enter following parameters
Start Angle =0.0
End Angle =360
• Click OK or press Enter key to complete the operation.
18.3.4.2 Set the work plane to create 2D sketch or profile (set of curves)
• Select View >> Front or press CTRL+F
• Press F (from keyboard) to Auto fit in the screen. X-Y coordinate system marker will be
visible in the center
18.3.5 Stud
18.3.5.1 Open the New Part
• Go to File >> New >> Part design
• Give a name to the part, say Stud
• Select Units as ‘mm’, Drafting Standard as ‘IS’
• Click OK or Press Enter
The User interface with menu bar, toolbar, and Model tree and tool palette are visible.
18.3.5.2 Set the work plane to create 2D sketch or profile (set of curves)
• Select View >> Front or press CTRL+F
• Press F (from keyboard) to Auto fit in the screen. X-Y coordinate system marker will be
visible in the center
18.3.6 Rod
18.3.6.1 Open the New Part
• Go to File >> New >> Part design
• Give a name to the part, say Rod
• Select Units as ‘mm’, Drafting Standard as ‘IS’
• Click OK or Press Enter
The User interface with menu bar, toolbar, and Model tree and tool palette are visible.
18.3.6.2 Set the work plane to create 2D sketch or profile (set of curves)
• Select View >> Front or press CTRL+F
• Press F (from keyboard) to Auto fit in the screen. X-Y coordinate system marker will be
visible in the center
• Rotate ‘Bush’ component using menu option: Edit >> Rotate >> Global X Axis
• Then select the ‘Bush’ by mouse click and hit enter
• System will prompt for base point. Right click on the canvas and select Workspace Origin
and press Enter
• Now a dialog box will open for rotation parameter. Give rotation value as
Angle=90 and click OK
• Now axial align ‘Bush’ component with ‘Body’ component
• Go to Insert >> Constraints >> Axial Align >> Circular/Conical Axis
• Select the circular/conical solid face of ‘Body’ using left mouse click.
• Then select the circular/conical solid face ‘Bush’ using left mouse click.
• Press Enter
• This will axially align ‘Bush’ with ‘Body’ component
• Now rotate the ‘Stud’ component. Go to Edit >> Rotate >> Global X Axis
• Then select the ‘Stud’ component by left mouse click and hit enter
• System will prompt for the base point. Right click on the canvas and select Workspace Origin
and press Enter
• Now a dialog box will open and enter rotation value as:
Angle=90, click OK
• Now blank the ‘Bush’ and ‘Gland’ component
• Go to Edit >> Blank >> Select
• Select ‘Bush’ and ‘Gland’ by left mouse click or user can select components from the model
tree.
• Press Enter
• Now, apply Coplanar constraint on “Body” and “Stud”. Go to Insert >>
Constraints >> Coplanar
• Select using left mouse click the plane of ‘Body’ which is shown in figure below
• Select using left mouse click the bottom plane of ‘Stud’ which is shown in figure below
• Press Enter
• In case, user is facing issue in plane selection, use dynamics to move solids.
• System will prompt for the base point. Right click on the canvas and select Workspace Origin
and press Enter
• Now a dialog box will open and enter rotation value as:
Angle=90, click OK
• Go to Insert >> Constraints >> Coplanar
• Select using left mouse click the plane of ‘Body’ and bottom plane of ‘Stud’ which is shown in
figure below
• Press Enter
• Now, axial align ‘Stud’ with ‘Body’ component
• Go to Insert >> Constraints >> Axial Align >> Circular/Conical Axis
• Select by left mouse click the circular/conical solid face of ‘Body’ which is shown in figure
below
• Select by left mouse click the circular/conical solid face of ‘Stud’ which is shown in figure
below
• Press Enter
• This will axially align ‘Body’ and ‘Stud’ components
Now, both Stud components are axially aligned with Body Component
Figure 18-43: both Stud components are axially aligned with Body Component
Figure 18-49: Both the 'Nut' components aligned to their respective positions
• Insert ‘Rod’ Component. Go to Insert >> Component >> Import MUZ file (Rod.muz)
• Now rotate the ‘Rod component. Go to Edit >> Rotate >> Global X Axis
• Then select the ‘Rod’ component by left mouse click and hit enter
• System will prompt for the base point. Right click on the canvas and select Workspace Origin
and press Enter
• Now a dialog box will open and enter rotation value as:
Angle=90, click OK
• Now, axial align ‘Rod’ with ‘Body’ component
• Go to Insert >> Constraints >> Axial Align >> Circular/Conical Axis
• Select by left mouse click the circular/conical solid face of ‘Body’ as shown in figure below
• Then, select by left mouse click the circular/conical solid face of ‘Rod’ as shown in figure
below
Then press enter.
Now ‘Rod’ is axially aligned with ‘Body’. This completes the Stuffing box assembly. Save the
assembly with part models in the same directory.
ISBN 978-81-909457-4-5