collada_urdf: added option to specify output filename
This commit is contained in:
parent
317be62c4c
commit
a53de106cd
|
@ -1 +0,0 @@
|
||||||
Experimental code.
|
|
|
@ -1,6 +1,8 @@
|
||||||
<package>
|
<package>
|
||||||
<description brief="URDF to COLLADA converter">
|
<description brief="URDF to COLLADA converter">
|
||||||
|
|
||||||
This package contains a tool to convert Unified Robot Description Format (URDF) documents into COLLAborative Design Activity (COLLADA) documents.
|
This package contains a tool to convert Unified Robot Description Format (URDF) documents into COLLAborative Design Activity (COLLADA) documents.
|
||||||
|
|
||||||
</description>
|
</description>
|
||||||
<author>Tim Field</author>
|
<author>Tim Field</author>
|
||||||
<license>BSD</license>
|
<license>BSD</license>
|
||||||
|
|
|
@ -100,14 +100,13 @@ public:
|
||||||
map<string, string> node_ids_; // joint.name -> node.id
|
map<string, string> node_ids_; // joint.name -> node.id
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ColladaWriter(urdf::Model* robot) : robot_(robot) {
|
ColladaWriter(const string& documentName, urdf::Model* robot) : robot_(robot) {
|
||||||
daeErrorHandler::setErrorHandler(this);
|
daeErrorHandler::setErrorHandler(this);
|
||||||
|
|
||||||
collada_.reset(new DAE());
|
collada_.reset(new DAE());
|
||||||
collada_->setIOPlugin(NULL);
|
collada_->setIOPlugin(NULL);
|
||||||
collada_->setDatabase(NULL);
|
collada_->setDatabase(NULL);
|
||||||
|
|
||||||
string documentName("mycollada.dae");
|
|
||||||
daeDocument* doc = NULL;
|
daeDocument* doc = NULL;
|
||||||
daeInt error = collada_->getDatabase()->insertDocument(documentName.c_str(), &doc); // also creates a collada root
|
daeInt error = collada_->getDatabase()->insertDocument(documentName.c_str(), &doc); // also creates a collada root
|
||||||
if (error != DAE_OK || doc == NULL)
|
if (error != DAE_OK || doc == NULL)
|
||||||
|
@ -985,8 +984,8 @@ public:
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
if (argc != 2) {
|
if (argc != 3) {
|
||||||
std::cerr << "Usage: urdf_to_collada input.urdf" << std::endl;
|
std::cerr << "Usage: urdf_to_collada input.urdf output.dae" << std::endl;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1004,7 +1003,9 @@ int main(int argc, char** argv)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
collada_urdf::ColladaWriter* writer = new collada_urdf::ColladaWriter(&robot);
|
string output_filename(argv[2]);
|
||||||
|
|
||||||
|
collada_urdf::ColladaWriter* writer = new collada_urdf::ColladaWriter(output_filename, &robot);
|
||||||
writer->writeScene();
|
writer->writeScene();
|
||||||
delete writer;
|
delete writer;
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -1,392 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">
|
|
||||||
<asset>
|
|
||||||
<contributor>
|
|
||||||
<authoring_tool>CPFCatiaPlugin</authoring_tool>
|
|
||||||
</contributor>
|
|
||||||
<created>2009-02-17T14:57:28Z</created>
|
|
||||||
<modified>2009-02-17T14:57:28Z</modified>
|
|
||||||
<unit meter="0.001" name="millimeter"/>
|
|
||||||
<up_axis>Z_UP</up_axis>
|
|
||||||
</asset>
|
|
||||||
<library_visual_scenes id="libvisualscenes">
|
|
||||||
<visual_scene id="libvisualscenes.scene">
|
|
||||||
<node id="root" name="Product1">
|
|
||||||
<node id="Product.1_0" name="Product">
|
|
||||||
<instance_geometry url="#geo0">
|
|
||||||
<bind_material>
|
|
||||||
<technique_common>
|
|
||||||
<instance_material symbol="mat0" target="#material4278190335"/>
|
|
||||||
<instance_material symbol="mat1" target="#material4278190335"/>
|
|
||||||
<instance_material symbol="mat2" target="#material4278190335"/>
|
|
||||||
<instance_material symbol="mat3" target="#material4278190335"/>
|
|
||||||
<instance_material symbol="mat4" target="#material4278190335"/>
|
|
||||||
</technique_common>
|
|
||||||
</bind_material>
|
|
||||||
</instance_geometry>
|
|
||||||
</node>
|
|
||||||
<node id="Product2.1_1" name="Product2">
|
|
||||||
<matrix>1 0 0 0 0 1 0 0 0 0 1 30000 0 0 0 1</matrix>
|
|
||||||
<matrix>1 -0 0 -0 -0 1 -0 0 0 -0 1 -30000 -0 0 -0 1</matrix>
|
|
||||||
<matrix>1 0 0 0 0 1 0 0 0 0 1 30000 0 0 0 1</matrix>
|
|
||||||
<rotate sid="joint_1_axis0">-1 -0 -0 0</rotate>
|
|
||||||
<matrix>1 -0 0 -0 -0 1 -0 0 0 -0 1 -30000 -0 0 -0 1</matrix>
|
|
||||||
<matrix>1 0 0 0 0 1 0 0 0 0 1 30000 0 0 0 1</matrix>
|
|
||||||
<instance_geometry url="#geo1">
|
|
||||||
<bind_material>
|
|
||||||
<technique_common>
|
|
||||||
<instance_material symbol="mat0" target="#material4278255360"/>
|
|
||||||
<instance_material symbol="mat1" target="#material4278255360"/>
|
|
||||||
<instance_material symbol="mat2" target="#material4278255360"/>
|
|
||||||
<instance_material symbol="mat3" target="#material4278255360"/>
|
|
||||||
<instance_material symbol="mat4" target="#material4278255360"/>
|
|
||||||
</technique_common>
|
|
||||||
</bind_material>
|
|
||||||
</instance_geometry>
|
|
||||||
</node>
|
|
||||||
<node id="Product3.1_2" name="Product3">
|
|
||||||
<matrix>1 0 0 0 0 1 0 0 0 0 1 55000 0 0 0 1</matrix>
|
|
||||||
<matrix>1 -0 0 -0 -0 1 -0 0 0 -0 1 -55000 -0 0 -0 1</matrix>
|
|
||||||
<matrix>1 0 0 0 0 1 0 0 0 0 1 30000 0 0 0 1</matrix>
|
|
||||||
<rotate sid="joint_1_axis0">-1 -0 -0 0</rotate>
|
|
||||||
<matrix>1 -0 0 -0 -0 1 -0 0 0 -0 1 -30000 -0 0 -0 1</matrix>
|
|
||||||
<matrix>1 0 0 0 0 1 0 0 0 0 1 55000 0 0 0 1</matrix>
|
|
||||||
<rotate sid="joint_0_axis0">-1 -0 -0 0</rotate>
|
|
||||||
<matrix>1 -0 0 -0 -0 1 -0 0 0 -0 1 -55000 -0 0 -0 1</matrix>
|
|
||||||
<matrix>1 0 0 0 0 1 0 0 0 0 1 55000 0 0 0 1</matrix>
|
|
||||||
<instance_geometry url="#geo2">
|
|
||||||
<bind_material>
|
|
||||||
<technique_common>
|
|
||||||
<instance_material symbol="mat0" target="#material4294901760"/>
|
|
||||||
<instance_material symbol="mat1" target="#material4294901760"/>
|
|
||||||
<instance_material symbol="mat2" target="#material4294901760"/>
|
|
||||||
<instance_material symbol="mat3" target="#material4294901760"/>
|
|
||||||
<instance_material symbol="mat4" target="#material4294901760"/>
|
|
||||||
</technique_common>
|
|
||||||
</bind_material>
|
|
||||||
</instance_geometry>
|
|
||||||
</node>
|
|
||||||
</node>
|
|
||||||
</visual_scene>
|
|
||||||
</library_visual_scenes>
|
|
||||||
<library_geometries id="libgeom">
|
|
||||||
<geometry id="geo0" name="GEOM_0">
|
|
||||||
<mesh>
|
|
||||||
<source id="geo0.positions">
|
|
||||||
<float_array id="geo0.positions-array" count="60">-3000 -3000 0 -3000 -3000 0 -3000 -3000 0 -3000 3000 0 -3000 3000 0 -3000 3000 0 -1500 0 15000 0 -1500 15000 0 0 30000 0 0 30000 0 0 30000 0 0 30000 0 1500 15000 1500 0 15000 3000 -3000 0 3000 -3000 0 3000 -3000 0 3000 3000 0 3000 3000 0 3000 3000 0</float_array>
|
|
||||||
<technique_common>
|
|
||||||
<accessor count="20" source="#geo0.positions-array" stride="3">
|
|
||||||
<param name="X" type="float"/>
|
|
||||||
<param name="Y" type="float"/>
|
|
||||||
<param name="Z" type="float"/>
|
|
||||||
</accessor>
|
|
||||||
</technique_common>
|
|
||||||
</source>
|
|
||||||
<source id="geo0.normals">
|
|
||||||
<float_array id="geo0.normals-array" count="60">-0.995039 0 0.0994903 0 -0.995039 0.0994903 0 0 -1 -0.995039 0 0.0994903 0 0 -1 0 0.995039 0.0994903 -0.995039 0 0.0994903 0 -0.995039 0.0994903 -0.995039 0 0.0994903 0 -0.995039 0.0994903 0 0.995039 0.0994903 0.995039 0 0.0994903 0 0.995039 0.0994903 0.995039 0 0.0994903 0 -0.995039 0.0994903 0 0 -1 0.995039 0 0.0994903 0 0 -1 0 0.995039 0.0994903 0.995039 0 0.0994903</float_array>
|
|
||||||
<technique_common>
|
|
||||||
<accessor count="20" source="#geo0.normals-array" stride="3">
|
|
||||||
<param name="X" type="float"/>
|
|
||||||
<param name="Y" type="float"/>
|
|
||||||
<param name="Z" type="float"/>
|
|
||||||
</accessor>
|
|
||||||
</technique_common>
|
|
||||||
</source>
|
|
||||||
<vertices id="geo0.vertices">
|
|
||||||
<input semantic="POSITION" source="#geo0.positions"/>
|
|
||||||
</vertices>
|
|
||||||
<triangles count="2" material="mat0">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo0.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo0.normals"/>
|
|
||||||
<p>17 17 15 15 2 2 2 2 4 4 17 17</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat1">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo0.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo0.normals"/>
|
|
||||||
<p>1 1 7 7 9 9 7 7 1 1 14 14 14 14 9 9 7 7</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat2">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo0.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo0.normals"/>
|
|
||||||
<p>16 16 13 13 11 11 13 13 16 16 19 19 19 19 11 11 13 13</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat3">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo0.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo0.normals"/>
|
|
||||||
<p>18 18 12 12 10 10 12 12 18 18 5 5 5 5 10 10 12 12</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat4">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo0.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo0.normals"/>
|
|
||||||
<p>3 3 6 6 8 8 6 6 3 3 0 0 0 0 8 8 6 6</p>
|
|
||||||
</triangles>
|
|
||||||
</mesh>
|
|
||||||
<extra>
|
|
||||||
<technique profile="CATIA">
|
|
||||||
<classname>CAT3DBagRep</classname>
|
|
||||||
</technique>
|
|
||||||
</extra>
|
|
||||||
</geometry>
|
|
||||||
<geometry id="geo1" name="GEOM_1">
|
|
||||||
<mesh>
|
|
||||||
<source id="geo1.positions">
|
|
||||||
<float_array id="geo1.positions-array" count="60">-2000 -2000 0 -2000 -2000 0 -2000 -2000 0 -2000 2000 0 -2000 2000 0 -2000 2000 0 -1000 0 12500 0 -1000 12500 0 0 25000 0 0 25000 0 0 25000 0 0 25000 0 1000 12500 1000 0 12500 2000 -2000 0 2000 -2000 0 2000 -2000 0 2000 2000 0 2000 2000 0 2000 2000 0</float_array>
|
|
||||||
<technique_common>
|
|
||||||
<accessor count="20" source="#geo1.positions-array" stride="3">
|
|
||||||
<param name="X" type="float"/>
|
|
||||||
<param name="Y" type="float"/>
|
|
||||||
<param name="Z" type="float"/>
|
|
||||||
</accessor>
|
|
||||||
</technique_common>
|
|
||||||
</source>
|
|
||||||
<source id="geo1.normals">
|
|
||||||
<float_array id="geo1.normals-array" count="60">-0.996815 0 0.0797449 0 -0.996815 0.0797449 0 0 -1 -0.996815 0 0.0797449 0 0 -1 0 0.996815 0.0797449 -0.996815 0 0.0797449 0 -0.996815 0.0797449 -0.996815 0 0.0797449 0 -0.996815 0.0797449 0 0.996815 0.0797449 0.996815 0 0.0797449 0 0.996815 0.0797449 0.996815 0 0.0797449 0 -0.996815 0.0797449 0 0 -1 0.996815 0 0.0797449 0 0 -1 0 0.996815 0.0797449 0.996815 0 0.0797449</float_array>
|
|
||||||
<technique_common>
|
|
||||||
<accessor count="20" source="#geo1.normals-array" stride="3">
|
|
||||||
<param name="X" type="float"/>
|
|
||||||
<param name="Y" type="float"/>
|
|
||||||
<param name="Z" type="float"/>
|
|
||||||
</accessor>
|
|
||||||
</technique_common>
|
|
||||||
</source>
|
|
||||||
<vertices id="geo1.vertices">
|
|
||||||
<input semantic="POSITION" source="#geo1.positions"/>
|
|
||||||
</vertices>
|
|
||||||
<triangles count="2" material="mat0">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo1.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo1.normals"/>
|
|
||||||
<p>17 17 15 15 2 2 2 2 4 4 17 17</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat1">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo1.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo1.normals"/>
|
|
||||||
<p>1 1 7 7 9 9 7 7 1 1 14 14 14 14 9 9 7 7</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat2">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo1.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo1.normals"/>
|
|
||||||
<p>16 16 13 13 11 11 13 13 16 16 19 19 19 19 11 11 13 13</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat3">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo1.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo1.normals"/>
|
|
||||||
<p>18 18 12 12 10 10 12 12 18 18 5 5 5 5 10 10 12 12</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat4">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo1.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo1.normals"/>
|
|
||||||
<p>3 3 6 6 8 8 6 6 3 3 0 0 0 0 8 8 6 6</p>
|
|
||||||
</triangles>
|
|
||||||
</mesh>
|
|
||||||
<extra>
|
|
||||||
<technique profile="CATIA">
|
|
||||||
<classname>CAT3DBagRep</classname>
|
|
||||||
</technique>
|
|
||||||
</extra>
|
|
||||||
</geometry>
|
|
||||||
<geometry id="geo2" name="GEOM_2">
|
|
||||||
<mesh>
|
|
||||||
<source id="geo2.positions">
|
|
||||||
<float_array id="geo2.positions-array" count="60">-1000 -1000 0 -1000 -1000 0 -1000 -1000 0 -1000 1000 0 -1000 1000 0 -1000 1000 0 -500 0 2500 0 -500 2500 0 0 5000 0 0 5000 0 0 5000 0 0 5000 0 500 2500 500 0 2500 1000 -1000 0 1000 -1000 0 1000 -1000 0 1000 1000 0 1000 1000 0 1000 1000 0</float_array>
|
|
||||||
<technique_common>
|
|
||||||
<accessor count="20" source="#geo2.positions-array" stride="3">
|
|
||||||
<param name="X" type="float"/>
|
|
||||||
<param name="Y" type="float"/>
|
|
||||||
<param name="Z" type="float"/>
|
|
||||||
</accessor>
|
|
||||||
</technique_common>
|
|
||||||
</source>
|
|
||||||
<source id="geo2.normals">
|
|
||||||
<float_array id="geo2.normals-array" count="60">-0.980582 0 0.196112 0 -0.980582 0.196112 0 0 -1 -0.980582 0 0.196112 0 0 -1 0 0.980582 0.196112 -0.980582 0 0.196112 0 -0.980582 0.196112 -0.980582 0 0.196112 0 -0.980582 0.196112 0 0.980582 0.196112 0.980582 0 0.196112 0 0.980582 0.196112 0.980582 0 0.196112 0 -0.980582 0.196112 0 0 -1 0.980582 0 0.196112 0 0 -1 0 0.980582 0.196112 0.980582 0 0.196112</float_array>
|
|
||||||
<technique_common>
|
|
||||||
<accessor count="20" source="#geo2.normals-array" stride="3">
|
|
||||||
<param name="X" type="float"/>
|
|
||||||
<param name="Y" type="float"/>
|
|
||||||
<param name="Z" type="float"/>
|
|
||||||
</accessor>
|
|
||||||
</technique_common>
|
|
||||||
</source>
|
|
||||||
<vertices id="geo2.vertices">
|
|
||||||
<input semantic="POSITION" source="#geo2.positions"/>
|
|
||||||
</vertices>
|
|
||||||
<triangles count="2" material="mat0">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo2.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo2.normals"/>
|
|
||||||
<p>17 17 15 15 2 2 2 2 4 4 17 17</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat1">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo2.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo2.normals"/>
|
|
||||||
<p>1 1 7 7 9 9 7 7 1 1 14 14 14 14 9 9 7 7</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat2">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo2.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo2.normals"/>
|
|
||||||
<p>16 16 13 13 11 11 13 13 16 16 19 19 19 19 11 11 13 13</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat3">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo2.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo2.normals"/>
|
|
||||||
<p>18 18 12 12 10 10 12 12 18 18 5 5 5 5 10 10 12 12</p>
|
|
||||||
</triangles>
|
|
||||||
<triangles count="3" material="mat4">
|
|
||||||
<input offset="0" semantic="VERTEX" source="#geo2.vertices"/>
|
|
||||||
<input offset="1" semantic="NORMAL" source="#geo2.normals"/>
|
|
||||||
<p>3 3 6 6 8 8 6 6 3 3 0 0 0 0 8 8 6 6</p>
|
|
||||||
</triangles>
|
|
||||||
</mesh>
|
|
||||||
<extra>
|
|
||||||
<technique profile="CATIA">
|
|
||||||
<classname>CAT3DBagRep</classname>
|
|
||||||
</technique>
|
|
||||||
</extra>
|
|
||||||
</geometry>
|
|
||||||
</library_geometries>
|
|
||||||
<library_effects id="libeffect">
|
|
||||||
<effect id="effect4278190335">
|
|
||||||
<profile_COMMON>
|
|
||||||
<technique sid="common">
|
|
||||||
<phong>
|
|
||||||
<ambient>
|
|
||||||
<color>1 0 0 1</color>
|
|
||||||
</ambient>
|
|
||||||
<diffuse>
|
|
||||||
<color>1 0 0 1</color>
|
|
||||||
</diffuse>
|
|
||||||
</phong>
|
|
||||||
</technique>
|
|
||||||
</profile_COMMON>
|
|
||||||
</effect>
|
|
||||||
<effect id="effect4278255360">
|
|
||||||
<profile_COMMON>
|
|
||||||
<technique sid="common">
|
|
||||||
<phong>
|
|
||||||
<ambient>
|
|
||||||
<color>0 1 0 1</color>
|
|
||||||
</ambient>
|
|
||||||
<diffuse>
|
|
||||||
<color>0 1 0 1</color>
|
|
||||||
</diffuse>
|
|
||||||
</phong>
|
|
||||||
</technique>
|
|
||||||
</profile_COMMON>
|
|
||||||
</effect>
|
|
||||||
<effect id="effect4294901760">
|
|
||||||
<profile_COMMON>
|
|
||||||
<technique sid="common">
|
|
||||||
<phong>
|
|
||||||
<ambient>
|
|
||||||
<color>0 0 1 1</color>
|
|
||||||
</ambient>
|
|
||||||
<diffuse>
|
|
||||||
<color>0 0 1 1</color>
|
|
||||||
</diffuse>
|
|
||||||
</phong>
|
|
||||||
</technique>
|
|
||||||
</profile_COMMON>
|
|
||||||
</effect>
|
|
||||||
</library_effects>
|
|
||||||
<library_materials id="libmat">
|
|
||||||
<material id="material4278190335">
|
|
||||||
<instance_effect url="#effect4278190335"/>
|
|
||||||
</material>
|
|
||||||
<material id="material4278255360">
|
|
||||||
<instance_effect url="#effect4278255360"/>
|
|
||||||
</material>
|
|
||||||
<material id="material4294901760">
|
|
||||||
<instance_effect url="#effect4294901760"/>
|
|
||||||
</material>
|
|
||||||
</library_materials>
|
|
||||||
<library_joints id="libjoints">
|
|
||||||
<joint id="joint_1" name="Revolute.2">
|
|
||||||
<revolute sid="axis0">
|
|
||||||
<axis>-1 -0 -0</axis>
|
|
||||||
<limits>
|
|
||||||
<min>-90</min>
|
|
||||||
<max>90</max>
|
|
||||||
</limits>
|
|
||||||
</revolute>
|
|
||||||
</joint>
|
|
||||||
<joint id="joint_0" name="Revolute.1">
|
|
||||||
<revolute sid="axis0">
|
|
||||||
<axis>-1 -0 -0</axis>
|
|
||||||
<limits>
|
|
||||||
<min>0</min>
|
|
||||||
<max>90</max>
|
|
||||||
</limits>
|
|
||||||
</revolute>
|
|
||||||
</joint>
|
|
||||||
</library_joints>
|
|
||||||
<library_kinematics_models id="libkinmodels">
|
|
||||||
<kinematics_model id="kinmodel.0" name="Mechanism.1">
|
|
||||||
<technique_common>
|
|
||||||
<instance_joint url="#joint_1" sid="joint_1"/>
|
|
||||||
<instance_joint url="#joint_0" sid="joint_0"/>
|
|
||||||
<link sid="Product.1" name="Product.1">
|
|
||||||
<attachment_full joint="kinmodel.0/joint_1">
|
|
||||||
<translate>0 0 30000</translate>
|
|
||||||
<link sid="Product2.1" name="Product2.1">
|
|
||||||
<attachment_full joint="kinmodel.0/joint_0">
|
|
||||||
<translate>0 0 25000</translate>
|
|
||||||
<link sid="Product3.1" name="Product3.1"/>
|
|
||||||
</attachment_full>
|
|
||||||
</link>
|
|
||||||
</attachment_full>
|
|
||||||
</link>
|
|
||||||
</technique_common>
|
|
||||||
</kinematics_model>
|
|
||||||
</library_kinematics_models>
|
|
||||||
<library_kinematics_scenes id="libkinscenes">
|
|
||||||
<kinematics_scene id="libkinscenes.kinScene">
|
|
||||||
<instance_kinematics_model url="#kinmodel.0" sid="inst_kinmodel.0">
|
|
||||||
<newparam sid="libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0">
|
|
||||||
<SIDREF>libkinscenes.kinScene/inst_kinmodel.0</SIDREF>
|
|
||||||
</newparam>
|
|
||||||
<newparam sid="libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_1_axis0">
|
|
||||||
<SIDREF>libkinscenes.kinScene/inst_kinmodel.0/joint_1/axis0</SIDREF>
|
|
||||||
</newparam>
|
|
||||||
<newparam sid="libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_1_axis0_value">
|
|
||||||
<float>0</float>
|
|
||||||
</newparam>
|
|
||||||
<newparam sid="libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_0_axis0">
|
|
||||||
<SIDREF>libkinscenes.kinScene/inst_kinmodel.0/joint_0/axis0</SIDREF>
|
|
||||||
</newparam>
|
|
||||||
<newparam sid="libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_0_axis0_value">
|
|
||||||
<float>0</float>
|
|
||||||
</newparam>
|
|
||||||
</instance_kinematics_model>
|
|
||||||
</kinematics_scene>
|
|
||||||
</library_kinematics_scenes>
|
|
||||||
<scene>
|
|
||||||
<instance_visual_scene url="#libvisualscenes.scene"/>
|
|
||||||
<instance_kinematics_scene url="#libkinscenes.kinScene">
|
|
||||||
<bind_kinematics_model node="Product.1_0">
|
|
||||||
<param>libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0</param>
|
|
||||||
</bind_kinematics_model>
|
|
||||||
<bind_joint_axis target="Product2.1_1/joint_1_axis0">
|
|
||||||
<axis>
|
|
||||||
<param>libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_1_axis0</param>
|
|
||||||
</axis>
|
|
||||||
<value>
|
|
||||||
<param>libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_1_axis0_value</param>
|
|
||||||
</value>
|
|
||||||
</bind_joint_axis>
|
|
||||||
<bind_joint_axis target="Product3.1_2/joint_1_axis0">
|
|
||||||
<axis>
|
|
||||||
<param>libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_1_axis0</param>
|
|
||||||
</axis>
|
|
||||||
<value>
|
|
||||||
<param>libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_1_axis0_value</param>
|
|
||||||
</value>
|
|
||||||
</bind_joint_axis>
|
|
||||||
<bind_joint_axis target="Product3.1_2/joint_0_axis0">
|
|
||||||
<axis>
|
|
||||||
<param>libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_0_axis0</param>
|
|
||||||
</axis>
|
|
||||||
<value>
|
|
||||||
<param>libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_0_axis0_value</param>
|
|
||||||
</value>
|
|
||||||
</bind_joint_axis>
|
|
||||||
</instance_kinematics_scene>
|
|
||||||
</scene>
|
|
||||||
</COLLADA>
|
|
Loading…
Reference in New Issue