2. Template manual modification: as part of this
work, a CAD drawing and properties file is cre-
ated. One can update this template file with di-
mensions, mass and material properties of the de-
sired part design.
3. Macro file modification: if a Macro file exists for
the part template, the user can modify the param-
eters in the Macro code to match desired model.
It requires familiarity with Macro file format and
the 3D design software currently in use.
4. Solidworks API: the application programming in-
terface offers interacting with the engineering de-
sign software through another compatible appli-
cation or standalone applications. API is utilized
in this work to automate the process of generating
the model of each part and many other tasks.
The process of automated part generation start by get-
ting the part specifications/parameters from its techni-
cal description, e.g. webstore, datasheet, ...etc. This
data is entered by the user in an application with
Graphical User Interface (GUI) prompting the user
to enter the proper data. The software uses this en-
tered data and the selected hardware class to gener-
ate the parameter description file. Once generated,
these parameters are used to generate a custom call
to the design software (Solidworks is used in this
work) through its API to generate the model from
scratch to satisfy the entered parameters or modify
one of default templates if they exist within the hard-
ware database. This process is illustrated in the chart
shown in (5).
3.2 Smart Mating
Assemblies and parts are the building blocks for cre-
ating the final model of the vehicle. Assemblies are
created by mating parts; introducing geometrical re-
lations between different entities of the parts such as
surfaces, faces, edges and vertices. This is usually
done using assembly mating utility within the design
software. To automate this mating process, one can
introduce rigid geometrical relations between parts
where a specific face/edge from one part is mated with
another compatible entity in the other part. Although
this approach is doable through the software API au-
tomatically, it poses multiple challenges.
The number of possible sub-assemblies grows
with the number of components option which loads
the database further and slow down the process. Ad-
ditionally, it limits modularity of the design which
would make creating a custom model or a sub-
assembly that does not exist in the library more time
consuming and less immune to mating or rendering
errors due to irregularities in some parts’ geometry.
Smart mating is a virtual massless properties that
can be for instance surfaces and edges introduced for
every part. The purpose of these virtual entities is in-
troducing one of multiple mating configurations. Mo-
tors are mounted to the frame using their own mount-
ing bases while propellers are mounted to propeller
through circular alignment of their hubs and the mo-
tors’ hubs.
This configuration of parts can be seen as a pre-
conditioning step to allow smoother automated gen-
eration of the quadcopter assembly. It allows proper
universal way to integrate parts in different vehicles
and early detect incompatibility of parts and sub-
assemblies and therefore prevent possible rendering
errors in the design or degraded performance. Modu-
larity is another strength of this approach where parts
can be exchanged within the software and multiple
combinations can be tried.
Each part to be generated requires two descriptor
files: the first includes the parameters of the compo-
nent that are related to physical and appearance prop-
erties as illustrated in (3.1). The second descriptor
includes information regarding the virtual mating en-
tities and specifies default and alternative configura-
tions. It is essential for the mate descriptor to include
the class of the component and part type.
The process starts with having at least two compo-
nents with their parameters files created as mentioned
previously. The software will start searching for the
mating data of each component. If these files does not
exist, then it is created with the assumption that part
is in the default orientation. If the files exist, then the
software will examine the type of available mates and
its compatibility with the other mates. This insures
the proper parts are being mated. Figure (6) shows an
example of mating surfaces in an airframe.
Each virtual entity in the smart mate file is as-
signed a class and type of hardware. For instance,
a quadcopter frame mating configuration file would
have several virtual surfaces to mount other different
types of hardware. None of these surfaces correspond
to propellers as they are not in physical contact with
the frame. When mating multiple components to the
frame, the software searches for the mate identity in
the frame and match it with its corresponding peer in
the other parts.
4 AUTOMATED QUADCOPTER
MODEL GENERATION
The developed software tool that automate the full
design and modeling process described in the previ-
ous two sections. The system structure is first dis-
An Automated Quadcopter CAD based Design and Modeling Platform using Solidworks API and Smart Dynamic Assembly
127