
@ -1,7 +1,17 @@ |
|||||||
*.FCStd1 |
*.FCStd1 |
||||||
_local |
_local |
||||||
__pycache__/ |
__pycache__/ |
||||||
/dist/ |
/dist/ |
||||||
/tubes/deprec/ |
/tubes/deprec/ |
||||||
/Images/vue d'ensemble provisoire.svg |
/Images/vue d'ensemble provisoire.svg |
||||||
/roues/ROU101B.FCStd |
/roues/ROU101B.FCStd |
||||||
|
/Images/Capture 15-2-25--15h00.JPG |
||||||
|
/Images/Capture 16-2-25--19h30.JPG |
||||||
|
/Images/L101.JPG |
||||||
|
/Images/L102.JPG |
||||||
|
/Images/M101.JPG |
||||||
|
/Images/Montage_1_2.svg |
||||||
|
/Images/Montage_3_4.svg |
||||||
|
/Images/Page_1.JPG |
||||||
|
/Images/T101.JPG |
||||||
|
/quincaillerie/divers/readme-and-terms-of-use-3d-cad-models.txt |
||||||
|
Before Width: | Height: | Size: 207 KiB After Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 190 KiB |
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 173 KiB |
Before Width: | Height: | Size: 391 KiB After Width: | Height: | Size: 393 KiB |
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 197 KiB |
Before Width: | Height: | Size: 550 KiB After Width: | Height: | Size: 554 KiB |
Before Width: | Height: | Size: 806 KiB After Width: | Height: | Size: 812 KiB |
@ -1,289 +1,289 @@ |
|||||||
CERN Open Hardware Licence Version 2 - Strongly Reciprocal |
CERN Open Hardware Licence Version 2 - Strongly Reciprocal |
||||||
|
|
||||||
|
|
||||||
Preamble |
Preamble |
||||||
|
|
||||||
CERN has developed this licence to promote collaboration among |
CERN has developed this licence to promote collaboration among |
||||||
hardware designers and to provide a legal tool which supports the |
hardware designers and to provide a legal tool which supports the |
||||||
freedom to use, study, modify, share and distribute hardware designs |
freedom to use, study, modify, share and distribute hardware designs |
||||||
and products based on those designs. Version 2 of the CERN Open |
and products based on those designs. Version 2 of the CERN Open |
||||||
Hardware Licence comes in three variants: CERN-OHL-P (permissive); and |
Hardware Licence comes in three variants: CERN-OHL-P (permissive); and |
||||||
two reciprocal licences: CERN-OHL-W (weakly reciprocal) and this |
two reciprocal licences: CERN-OHL-W (weakly reciprocal) and this |
||||||
licence, CERN-OHL-S (strongly reciprocal). |
licence, CERN-OHL-S (strongly reciprocal). |
||||||
|
|
||||||
The CERN-OHL-S is copyright CERN 2020. Anyone is welcome to use it, in |
The CERN-OHL-S is copyright CERN 2020. Anyone is welcome to use it, in |
||||||
unmodified form only. |
unmodified form only. |
||||||
|
|
||||||
Use of this Licence does not imply any endorsement by CERN of any |
Use of this Licence does not imply any endorsement by CERN of any |
||||||
Licensor or their designs nor does it imply any involvement by CERN in |
Licensor or their designs nor does it imply any involvement by CERN in |
||||||
their development. |
their development. |
||||||
|
|
||||||
|
|
||||||
1 Definitions |
1 Definitions |
||||||
|
|
||||||
1.1 'Licence' means this CERN-OHL-S. |
1.1 'Licence' means this CERN-OHL-S. |
||||||
|
|
||||||
1.2 'Compatible Licence' means |
1.2 'Compatible Licence' means |
||||||
|
|
||||||
a) any earlier version of the CERN Open Hardware licence, or |
a) any earlier version of the CERN Open Hardware licence, or |
||||||
|
|
||||||
b) any version of the CERN-OHL-S, or |
b) any version of the CERN-OHL-S, or |
||||||
|
|
||||||
c) any licence which permits You to treat the Source to which |
c) any licence which permits You to treat the Source to which |
||||||
it applies as licensed under CERN-OHL-S provided that on |
it applies as licensed under CERN-OHL-S provided that on |
||||||
Conveyance of any such Source, or any associated Product You |
Conveyance of any such Source, or any associated Product You |
||||||
treat the Source in question as being licensed under |
treat the Source in question as being licensed under |
||||||
CERN-OHL-S. |
CERN-OHL-S. |
||||||
|
|
||||||
1.3 'Source' means information such as design materials or digital |
1.3 'Source' means information such as design materials or digital |
||||||
code which can be applied to Make or test a Product or to |
code which can be applied to Make or test a Product or to |
||||||
prepare a Product for use, Conveyance or sale, regardless of its |
prepare a Product for use, Conveyance or sale, regardless of its |
||||||
medium or how it is expressed. It may include Notices. |
medium or how it is expressed. It may include Notices. |
||||||
|
|
||||||
1.4 'Covered Source' means Source that is explicitly made available |
1.4 'Covered Source' means Source that is explicitly made available |
||||||
under this Licence. |
under this Licence. |
||||||
|
|
||||||
1.5 'Product' means any device, component, work or physical object, |
1.5 'Product' means any device, component, work or physical object, |
||||||
whether in finished or intermediate form, arising from the use, |
whether in finished or intermediate form, arising from the use, |
||||||
application or processing of Covered Source. |
application or processing of Covered Source. |
||||||
|
|
||||||
1.6 'Make' means to create or configure something, whether by |
1.6 'Make' means to create or configure something, whether by |
||||||
manufacture, assembly, compiling, loading or applying Covered |
manufacture, assembly, compiling, loading or applying Covered |
||||||
Source or another Product or otherwise. |
Source or another Product or otherwise. |
||||||
|
|
||||||
1.7 'Available Component' means any part, sub-assembly, library or |
1.7 'Available Component' means any part, sub-assembly, library or |
||||||
code which: |
code which: |
||||||
|
|
||||||
a) is licensed to You as Complete Source under a Compatible |
a) is licensed to You as Complete Source under a Compatible |
||||||
Licence; or |
Licence; or |
||||||
|
|
||||||
b) is available, at the time a Product or the Source containing |
b) is available, at the time a Product or the Source containing |
||||||
it is first Conveyed, to You and any other prospective |
it is first Conveyed, to You and any other prospective |
||||||
licensees |
licensees |
||||||
|
|
||||||
i) as a physical part with sufficient rights and |
i) as a physical part with sufficient rights and |
||||||
information (including any configuration and |
information (including any configuration and |
||||||
programming files and information about its |
programming files and information about its |
||||||
characteristics and interfaces) to enable it either to |
characteristics and interfaces) to enable it either to |
||||||
be Made itself, or to be sourced and used to Make the |
be Made itself, or to be sourced and used to Make the |
||||||
Product; or |
Product; or |
||||||
ii) as part of the normal distribution of a tool used to |
ii) as part of the normal distribution of a tool used to |
||||||
design or Make the Product. |
design or Make the Product. |
||||||
|
|
||||||
1.8 'Complete Source' means the set of all Source necessary to Make |
1.8 'Complete Source' means the set of all Source necessary to Make |
||||||
a Product, in the preferred form for making modifications, |
a Product, in the preferred form for making modifications, |
||||||
including necessary installation and interfacing information |
including necessary installation and interfacing information |
||||||
both for the Product, and for any included Available Components. |
both for the Product, and for any included Available Components. |
||||||
If the format is proprietary, it must also be made available in |
If the format is proprietary, it must also be made available in |
||||||
a format (if the proprietary tool can create it) which is |
a format (if the proprietary tool can create it) which is |
||||||
viewable with a tool available to potential licensees and |
viewable with a tool available to potential licensees and |
||||||
licensed under a licence approved by the Free Software |
licensed under a licence approved by the Free Software |
||||||
Foundation or the Open Source Initiative. Complete Source need |
Foundation or the Open Source Initiative. Complete Source need |
||||||
not include the Source of any Available Component, provided that |
not include the Source of any Available Component, provided that |
||||||
You include in the Complete Source sufficient information to |
You include in the Complete Source sufficient information to |
||||||
enable a recipient to Make or source and use the Available |
enable a recipient to Make or source and use the Available |
||||||
Component to Make the Product. |
Component to Make the Product. |
||||||
|
|
||||||
1.9 'Source Location' means a location where a Licensor has placed |
1.9 'Source Location' means a location where a Licensor has placed |
||||||
Covered Source, and which that Licensor reasonably believes will |
Covered Source, and which that Licensor reasonably believes will |
||||||
remain easily accessible for at least three years for anyone to |
remain easily accessible for at least three years for anyone to |
||||||
obtain a digital copy. |
obtain a digital copy. |
||||||
|
|
||||||
1.10 'Notice' means copyright, acknowledgement and trademark notices, |
1.10 'Notice' means copyright, acknowledgement and trademark notices, |
||||||
Source Location references, modification notices (subsection |
Source Location references, modification notices (subsection |
||||||
3.3(b)) and all notices that refer to this Licence and to the |
3.3(b)) and all notices that refer to this Licence and to the |
||||||
disclaimer of warranties that are included in the Covered |
disclaimer of warranties that are included in the Covered |
||||||
Source. |
Source. |
||||||
|
|
||||||
1.11 'Licensee' or 'You' means any person exercising rights under |
1.11 'Licensee' or 'You' means any person exercising rights under |
||||||
this Licence. |
this Licence. |
||||||
|
|
||||||
1.12 'Licensor' means a natural or legal person who creates or |
1.12 'Licensor' means a natural or legal person who creates or |
||||||
modifies Covered Source. A person may be a Licensee and a |
modifies Covered Source. A person may be a Licensee and a |
||||||
Licensor at the same time. |
Licensor at the same time. |
||||||
|
|
||||||
1.13 'Convey' means to communicate to the public or distribute. |
1.13 'Convey' means to communicate to the public or distribute. |
||||||
|
|
||||||
|
|
||||||
2 Applicability |
2 Applicability |
||||||
|
|
||||||
2.1 This Licence governs the use, copying, modification, Conveying |
2.1 This Licence governs the use, copying, modification, Conveying |
||||||
of Covered Source and Products, and the Making of Products. By |
of Covered Source and Products, and the Making of Products. By |
||||||
exercising any right granted under this Licence, You irrevocably |
exercising any right granted under this Licence, You irrevocably |
||||||
accept these terms and conditions. |
accept these terms and conditions. |
||||||
|
|
||||||
2.2 This Licence is granted by the Licensor directly to You, and |
2.2 This Licence is granted by the Licensor directly to You, and |
||||||
shall apply worldwide and without limitation in time. |
shall apply worldwide and without limitation in time. |
||||||
|
|
||||||
2.3 You shall not attempt to restrict by contract or otherwise the |
2.3 You shall not attempt to restrict by contract or otherwise the |
||||||
rights granted under this Licence to other Licensees. |
rights granted under this Licence to other Licensees. |
||||||
|
|
||||||
2.4 This Licence is not intended to restrict fair use, fair dealing, |
2.4 This Licence is not intended to restrict fair use, fair dealing, |
||||||
or any other similar right. |
or any other similar right. |
||||||
|
|
||||||
|
|
||||||
3 Copying, modifying and Conveying Covered Source |
3 Copying, modifying and Conveying Covered Source |
||||||
|
|
||||||
3.1 You may copy and Convey verbatim copies of Covered Source, in |
3.1 You may copy and Convey verbatim copies of Covered Source, in |
||||||
any medium, provided You retain all Notices. |
any medium, provided You retain all Notices. |
||||||
|
|
||||||
3.2 You may modify Covered Source, other than Notices, provided that |
3.2 You may modify Covered Source, other than Notices, provided that |
||||||
You irrevocably undertake to make that modified Covered Source |
You irrevocably undertake to make that modified Covered Source |
||||||
available from a Source Location should You Convey a Product in |
available from a Source Location should You Convey a Product in |
||||||
circumstances where the recipient does not otherwise receive a |
circumstances where the recipient does not otherwise receive a |
||||||
copy of the modified Covered Source. In each case subsection 3.3 |
copy of the modified Covered Source. In each case subsection 3.3 |
||||||
shall apply. |
shall apply. |
||||||
|
|
||||||
You may only delete Notices if they are no longer applicable to |
You may only delete Notices if they are no longer applicable to |
||||||
the corresponding Covered Source as modified by You and You may |
the corresponding Covered Source as modified by You and You may |
||||||
add additional Notices applicable to Your modifications. |
add additional Notices applicable to Your modifications. |
||||||
Including Covered Source in a larger work is modifying the |
Including Covered Source in a larger work is modifying the |
||||||
Covered Source, and the larger work becomes modified Covered |
Covered Source, and the larger work becomes modified Covered |
||||||
Source. |
Source. |
||||||
|
|
||||||
3.3 You may Convey modified Covered Source (with the effect that You |
3.3 You may Convey modified Covered Source (with the effect that You |
||||||
shall also become a Licensor) provided that You: |
shall also become a Licensor) provided that You: |
||||||
|
|
||||||
a) retain Notices as required in subsection 3.2; |
a) retain Notices as required in subsection 3.2; |
||||||
|
|
||||||
b) add a Notice to the modified Covered Source stating that You |
b) add a Notice to the modified Covered Source stating that You |
||||||
have modified it, with the date and brief description of how |
have modified it, with the date and brief description of how |
||||||
You have modified it; |
You have modified it; |
||||||
|
|
||||||
c) add a Source Location Notice for the modified Covered Source |
c) add a Source Location Notice for the modified Covered Source |
||||||
if You Convey in circumstances where the recipient does not |
if You Convey in circumstances where the recipient does not |
||||||
otherwise receive a copy of the modified Covered Source; and |
otherwise receive a copy of the modified Covered Source; and |
||||||
|
|
||||||
d) license the modified Covered Source under the terms and |
d) license the modified Covered Source under the terms and |
||||||
conditions of this Licence (or, as set out in subsection |
conditions of this Licence (or, as set out in subsection |
||||||
8.3, a later version, if permitted by the licence of the |
8.3, a later version, if permitted by the licence of the |
||||||
original Covered Source). Such modified Covered Source must |
original Covered Source). Such modified Covered Source must |
||||||
be licensed as a whole, but excluding Available Components |
be licensed as a whole, but excluding Available Components |
||||||
contained in it, which remain licensed under their own |
contained in it, which remain licensed under their own |
||||||
applicable licences. |
applicable licences. |
||||||
|
|
||||||
|
|
||||||
4 Making and Conveying Products |
4 Making and Conveying Products |
||||||
|
|
||||||
You may Make Products, and/or Convey them, provided that You either |
You may Make Products, and/or Convey them, provided that You either |
||||||
provide each recipient with a copy of the Complete Source or ensure |
provide each recipient with a copy of the Complete Source or ensure |
||||||
that each recipient is notified of the Source Location of the Complete |
that each recipient is notified of the Source Location of the Complete |
||||||
Source. That Complete Source is Covered Source, and You must |
Source. That Complete Source is Covered Source, and You must |
||||||
accordingly satisfy Your obligations set out in subsection 3.3. If |
accordingly satisfy Your obligations set out in subsection 3.3. If |
||||||
specified in a Notice, the Product must visibly and securely display |
specified in a Notice, the Product must visibly and securely display |
||||||
the Source Location on it or its packaging or documentation in the |
the Source Location on it or its packaging or documentation in the |
||||||
manner specified in that Notice. |
manner specified in that Notice. |
||||||
|
|
||||||
|
|
||||||
5 Research and Development |
5 Research and Development |
||||||
|
|
||||||
You may Convey Covered Source, modified Covered Source or Products to |
You may Convey Covered Source, modified Covered Source or Products to |
||||||
a legal entity carrying out development, testing or quality assurance |
a legal entity carrying out development, testing or quality assurance |
||||||
work on Your behalf provided that the work is performed on terms which |
work on Your behalf provided that the work is performed on terms which |
||||||
prevent the entity from both using the Source or Products for its own |
prevent the entity from both using the Source or Products for its own |
||||||
internal purposes and Conveying the Source or Products or any |
internal purposes and Conveying the Source or Products or any |
||||||
modifications to them to any person other than You. Any modifications |
modifications to them to any person other than You. Any modifications |
||||||
made by the entity shall be deemed to be made by You pursuant to |
made by the entity shall be deemed to be made by You pursuant to |
||||||
subsection 3.2. |
subsection 3.2. |
||||||
|
|
||||||
|
|
||||||
6 DISCLAIMER AND LIABILITY |
6 DISCLAIMER AND LIABILITY |
||||||
|
|
||||||
6.1 DISCLAIMER OF WARRANTY -- The Covered Source and any Products |
6.1 DISCLAIMER OF WARRANTY -- The Covered Source and any Products |
||||||
are provided 'as is' and any express or implied warranties, |
are provided 'as is' and any express or implied warranties, |
||||||
including, but not limited to, implied warranties of |
including, but not limited to, implied warranties of |
||||||
merchantability, of satisfactory quality, non-infringement of |
merchantability, of satisfactory quality, non-infringement of |
||||||
third party rights, and fitness for a particular purpose or use |
third party rights, and fitness for a particular purpose or use |
||||||
are disclaimed in respect of any Source or Product to the |
are disclaimed in respect of any Source or Product to the |
||||||
maximum extent permitted by law. The Licensor makes no |
maximum extent permitted by law. The Licensor makes no |
||||||
representation that any Source or Product does not or will not |
representation that any Source or Product does not or will not |
||||||
infringe any patent, copyright, trade secret or other |
infringe any patent, copyright, trade secret or other |
||||||
proprietary right. The entire risk as to the use, quality, and |
proprietary right. The entire risk as to the use, quality, and |
||||||
performance of any Source or Product shall be with You and not |
performance of any Source or Product shall be with You and not |
||||||
the Licensor. This disclaimer of warranty is an essential part |
the Licensor. This disclaimer of warranty is an essential part |
||||||
of this Licence and a condition for the grant of any rights |
of this Licence and a condition for the grant of any rights |
||||||
granted under this Licence. |
granted under this Licence. |
||||||
|
|
||||||
6.2 EXCLUSION AND LIMITATION OF LIABILITY -- The Licensor shall, to |
6.2 EXCLUSION AND LIMITATION OF LIABILITY -- The Licensor shall, to |
||||||
the maximum extent permitted by law, have no liability for |
the maximum extent permitted by law, have no liability for |
||||||
direct, indirect, special, incidental, consequential, exemplary, |
direct, indirect, special, incidental, consequential, exemplary, |
||||||
punitive or other damages of any character including, without |
punitive or other damages of any character including, without |
||||||
limitation, procurement of substitute goods or services, loss of |
limitation, procurement of substitute goods or services, loss of |
||||||
use, data or profits, or business interruption, however caused |
use, data or profits, or business interruption, however caused |
||||||
and on any theory of contract, warranty, tort (including |
and on any theory of contract, warranty, tort (including |
||||||
negligence), product liability or otherwise, arising in any way |
negligence), product liability or otherwise, arising in any way |
||||||
in relation to the Covered Source, modified Covered Source |
in relation to the Covered Source, modified Covered Source |
||||||
and/or the Making or Conveyance of a Product, even if advised of |
and/or the Making or Conveyance of a Product, even if advised of |
||||||
the possibility of such damages, and You shall hold the |
the possibility of such damages, and You shall hold the |
||||||
Licensor(s) free and harmless from any liability, costs, |
Licensor(s) free and harmless from any liability, costs, |
||||||
damages, fees and expenses, including claims by third parties, |
damages, fees and expenses, including claims by third parties, |
||||||
in relation to such use. |
in relation to such use. |
||||||
|
|
||||||
|
|
||||||
7 Patents |
7 Patents |
||||||
|
|
||||||
7.1 Subject to the terms and conditions of this Licence, each |
7.1 Subject to the terms and conditions of this Licence, each |
||||||
Licensor hereby grants to You a perpetual, worldwide, |
Licensor hereby grants to You a perpetual, worldwide, |
||||||
non-exclusive, no-charge, royalty-free, irrevocable (except as |
non-exclusive, no-charge, royalty-free, irrevocable (except as |
||||||
stated in subsections 7.2 and 8.4) patent license to Make, have |
stated in subsections 7.2 and 8.4) patent license to Make, have |
||||||
Made, use, offer to sell, sell, import, and otherwise transfer |
Made, use, offer to sell, sell, import, and otherwise transfer |
||||||
the Covered Source and Products, where such licence applies only |
the Covered Source and Products, where such licence applies only |
||||||
to those patent claims licensable by such Licensor that are |
to those patent claims licensable by such Licensor that are |
||||||
necessarily infringed by exercising rights under the Covered |
necessarily infringed by exercising rights under the Covered |
||||||
Source as Conveyed by that Licensor. |
Source as Conveyed by that Licensor. |
||||||
|
|
||||||
7.2 If You institute patent litigation against any entity (including |
7.2 If You institute patent litigation against any entity (including |
||||||
a cross-claim or counterclaim in a lawsuit) alleging that the |
a cross-claim or counterclaim in a lawsuit) alleging that the |
||||||
Covered Source or a Product constitutes direct or contributory |
Covered Source or a Product constitutes direct or contributory |
||||||
patent infringement, or You seek any declaration that a patent |
patent infringement, or You seek any declaration that a patent |
||||||
licensed to You under this Licence is invalid or unenforceable |
licensed to You under this Licence is invalid or unenforceable |
||||||
then any rights granted to You under this Licence shall |
then any rights granted to You under this Licence shall |
||||||
terminate as of the date such process is initiated. |
terminate as of the date such process is initiated. |
||||||
|
|
||||||
|
|
||||||
8 General |
8 General |
||||||
|
|
||||||
8.1 If any provisions of this Licence are or subsequently become |
8.1 If any provisions of this Licence are or subsequently become |
||||||
invalid or unenforceable for any reason, the remaining |
invalid or unenforceable for any reason, the remaining |
||||||
provisions shall remain effective. |
provisions shall remain effective. |
||||||
|
|
||||||
8.2 You shall not use any of the name (including acronyms and |
8.2 You shall not use any of the name (including acronyms and |
||||||
abbreviations), image, or logo by which the Licensor or CERN is |
abbreviations), image, or logo by which the Licensor or CERN is |
||||||
known, except where needed to comply with section 3, or where |
known, except where needed to comply with section 3, or where |
||||||
the use is otherwise allowed by law. Any such permitted use |
the use is otherwise allowed by law. Any such permitted use |
||||||
shall be factual and shall not be made so as to suggest any kind |
shall be factual and shall not be made so as to suggest any kind |
||||||
of endorsement or implication of involvement by the Licensor or |
of endorsement or implication of involvement by the Licensor or |
||||||
its personnel. |
its personnel. |
||||||
|
|
||||||
8.3 CERN may publish updated versions and variants of this Licence |
8.3 CERN may publish updated versions and variants of this Licence |
||||||
which it considers to be in the spirit of this version, but may |
which it considers to be in the spirit of this version, but may |
||||||
differ in detail to address new problems or concerns. New |
differ in detail to address new problems or concerns. New |
||||||
versions will be published with a unique version number and a |
versions will be published with a unique version number and a |
||||||
variant identifier specifying the variant. If the Licensor has |
variant identifier specifying the variant. If the Licensor has |
||||||
specified that a given variant applies to the Covered Source |
specified that a given variant applies to the Covered Source |
||||||
without specifying a version, You may treat that Covered Source |
without specifying a version, You may treat that Covered Source |
||||||
as being released under any version of the CERN-OHL with that |
as being released under any version of the CERN-OHL with that |
||||||
variant. If no variant is specified, the Covered Source shall be |
variant. If no variant is specified, the Covered Source shall be |
||||||
treated as being released under CERN-OHL-S. The Licensor may |
treated as being released under CERN-OHL-S. The Licensor may |
||||||
also specify that the Covered Source is subject to a specific |
also specify that the Covered Source is subject to a specific |
||||||
version of the CERN-OHL or any later version in which case You |
version of the CERN-OHL or any later version in which case You |
||||||
may apply this or any later version of CERN-OHL with the same |
may apply this or any later version of CERN-OHL with the same |
||||||
variant identifier published by CERN. |
variant identifier published by CERN. |
||||||
|
|
||||||
8.4 This Licence shall terminate with immediate effect if You fail |
8.4 This Licence shall terminate with immediate effect if You fail |
||||||
to comply with any of its terms and conditions. |
to comply with any of its terms and conditions. |
||||||
|
|
||||||
8.5 However, if You cease all breaches of this Licence, then Your |
8.5 However, if You cease all breaches of this Licence, then Your |
||||||
Licence from any Licensor is reinstated unless such Licensor has |
Licence from any Licensor is reinstated unless such Licensor has |
||||||
terminated this Licence by giving You, while You remain in |
terminated this Licence by giving You, while You remain in |
||||||
breach, a notice specifying the breach and requiring You to cure |
breach, a notice specifying the breach and requiring You to cure |
||||||
it within 30 days, and You have failed to come into compliance |
it within 30 days, and You have failed to come into compliance |
||||||
in all material respects by the end of the 30 day period. Should |
in all material respects by the end of the 30 day period. Should |
||||||
You repeat the breach after receipt of a cure notice and |
You repeat the breach after receipt of a cure notice and |
||||||
subsequent reinstatement, this Licence will terminate |
subsequent reinstatement, this Licence will terminate |
||||||
immediately and permanently. Section 6 shall continue to apply |
immediately and permanently. Section 6 shall continue to apply |
||||||
after any termination. |
after any termination. |
||||||
|
|
||||||
8.6 This Licence shall not be enforceable except by a Licensor |
8.6 This Licence shall not be enforceable except by a Licensor |
||||||
acting as such, and third party beneficiary rights are |
acting as such, and third party beneficiary rights are |
||||||
specifically excluded. |
specifically excluded. |
||||||
|
@ -1,45 +1,45 @@ |
|||||||
# Remorque_PM_v0 |
# Remorque_PM_v0 |
||||||
|
|
||||||
|
|
||||||
Remorque petit modèle (une caisse standard) d'après Greg et le croquis de Gaetan |
Remorque petit modèle (une caisse standard) d'après Greg et le croquis de Gaetan |
||||||
sur la base du travail de Macéo |
sur la base du travail de Macéo |
||||||
|
|
||||||
--- attention --- |
--- attention --- |
||||||
fait avec FreeCad v0.21.2, peut-être pas lisible correctement avec les versions antérieures |
fait avec FreeCad v0.21.2, peut-être pas lisible correctement avec les versions antérieures |
||||||
|
|
||||||
état au **08/03/2025** - 15h30 |
état au **08/03/2025** - 15h30 |
||||||
|
|
||||||
## itération 0.01 avec schémas techniques en 2D (.SVG) |
## itération 0.01 avec schémas techniques en 2D (.SVG) |
||||||
(pas de changement du design 3D) |
(pas de changement du design 3D) |
||||||
|
|
||||||
état au **05/03/2025** - 08h30 |
état au **05/03/2025** - 08h30 |
||||||
|
|
||||||
suite discussion du 3/5/25 |
suite discussion du 3/5/25 |
||||||
|
|
||||||
### Dimensions: |
### Dimensions: |
||||||
- élargissement de 1 cm en longueur et largeur pour donner du jeu |
- élargissement de 1 cm en longueur et largeur pour donner du jeu |
||||||
|
|
||||||
### Cales latérales: |
### Cales latérales: |
||||||
- reprise des équerres CHO17 pour les quatre côtés en lieu et place des tubes du croquis de Gaetan |
- reprise des équerres CHO17 pour les quatre côtés en lieu et place des tubes du croquis de Gaetan |
||||||
- un trou central permet de les remplacer par un bout de tube vertical en alternative (mais fixé par une seule vis) |
- un trou central permet de les remplacer par un bout de tube vertical en alternative (mais fixé par une seule vis) |
||||||
|
|
||||||
### Roulette frontale: |
### Roulette frontale: |
||||||
- la roulette n'est plus celle du Vhélio mais une roulette de roller junior de 63mm facile à trouver (axe 6mm) |
- la roulette n'est plus celle du Vhélio mais une roulette de roller junior de 63mm facile à trouver (axe 6mm) |
||||||
- on laisse un peu d'inclinaison vers l'avant pour faciliter le dégagement de la roulette en position roulage |
- on laisse un peu d'inclinaison vers l'avant pour faciliter le dégagement de la roulette en position roulage |
||||||
- la remorque serait exactement à l'horizontale pour une taille de roulette de 80mm |
- la remorque serait exactement à l'horizontale pour une taille de roulette de 80mm |
||||||
- le deuxième montant M101 accolé au premier est supprimé. L'équerre CHO17 est identique aux trois autres. Elle est centrée donc la roue n'est pas dans l'axe de la remorque. |
- le deuxième montant M101 accolé au premier est supprimé. L'équerre CHO17 est identique aux trois autres. Elle est centrée donc la roue n'est pas dans l'axe de la remorque. |
||||||
|
|
||||||
### Timon: |
### Timon: |
||||||
- l'équerre de fixation est positionnée pour un timon soit horizontal (traction) soit vertical (caddy). Si on veut un timon oblique il suffit de retourner l'équerre. Le timon L102 dispose déjà du trou nécessaire |
- l'équerre de fixation est positionnée pour un timon soit horizontal (traction) soit vertical (caddy). Si on veut un timon oblique il suffit de retourner l'équerre. Le timon L102 dispose déjà du trou nécessaire |
||||||
- le timon a été légèrement avancé (modification du perçage L101) pour pouvoir placer la vis tête fraisée plus loin de l'axe sans buter dans les vis verticales (meilleure tenue mécanique) |
- le timon a été légèrement avancé (modification du perçage L101) pour pouvoir placer la vis tête fraisée plus loin de l'axe sans buter dans les vis verticales (meilleure tenue mécanique) |
||||||
- une poignee de timon provisoire a été faite avec une équerre CHO17 et un troisième tube M101 |
- une poignee de timon provisoire a été faite avec une équerre CHO17 et un troisième tube M101 |
||||||
|
|
||||||
|
|
||||||
## reste à faire : |
## reste à faire : |
||||||
|
|
||||||
- extrémité timon définitive (attache au vélo) |
- extrémité timon définitive (attache au vélo) |
||||||
- vérifier que les fixations des roues en M8 TH ne bloquent pas le roulement. |
- vérifier que les fixations des roues en M8 TH ne bloquent pas le roulement. |
||||||
|
|
||||||
### GIT : |
### GIT : |
||||||
<https://git.vhelio.org/christian/Remorque_PM_v0> |
<https://git.vhelio.org/christian/Remorque_PM_v0> |
||||||
|
|
||||||
|
@ -1,365 +1,365 @@ |
|||||||
ISO-10303-21; |
ISO-10303-21; |
||||||
HEADER; |
HEADER; |
||||||
/* Generated by software containing ST-Developer |
/* Generated by software containing ST-Developer |
||||||
* from STEP Tools, Inc. (www.steptools.com) |
* from STEP Tools, Inc. (www.steptools.com) |
||||||
*/ |
*/ |
||||||
/* OPTION: using custom renumber hook */ |
/* OPTION: using custom renumber hook */ |
||||||
|
|
||||||
FILE_DESCRIPTION( |
FILE_DESCRIPTION( |
||||||
/* description */ ('STEP AP214'), |
/* description */ ('STEP AP214'), |
||||||
/* implementation_level */ '2;1'); |
/* implementation_level */ '2;1'); |
||||||
|
|
||||||
FILE_NAME( |
FILE_NAME( |
||||||
/* name */ 'BLPS6-30', |
/* name */ 'BLPS6-30', |
||||||
/* time_stamp */ '2025-02-12T08:24:25+01:00', |
/* time_stamp */ '2025-02-12T08:24:25+01:00', |
||||||
/* author */ ('License CC BY-ND 4.0'), |
/* author */ ('License CC BY-ND 4.0'), |
||||||
/* organization */ ('CADENAS'), |
/* organization */ ('CADENAS'), |
||||||
/* preprocessor_version */ 'ST-DEVELOPER v19.3', |
/* preprocessor_version */ 'ST-DEVELOPER v19.3', |
||||||
/* originating_system */ 'PARTsolutions', |
/* originating_system */ 'PARTsolutions', |
||||||
/* authorisation */ ' '); |
/* authorisation */ ' '); |
||||||
|
|
||||||
FILE_SCHEMA (('AUTOMOTIVE_DESIGN {1 0 10303 214 3 1 1}')); |
FILE_SCHEMA (('AUTOMOTIVE_DESIGN {1 0 10303 214 3 1 1}')); |
||||||
ENDSEC; |
ENDSEC; |
||||||
|
|
||||||
DATA; |
DATA; |
||||||
#10=PROPERTY_DEFINITION_REPRESENTATION(#14,#12); |
#10=PROPERTY_DEFINITION_REPRESENTATION(#14,#12); |
||||||
#11=PROPERTY_DEFINITION_REPRESENTATION(#15,#13); |
#11=PROPERTY_DEFINITION_REPRESENTATION(#15,#13); |
||||||
#12=REPRESENTATION('',(#16),#287); |
#12=REPRESENTATION('',(#16),#287); |
||||||
#13=REPRESENTATION('',(#17),#287); |
#13=REPRESENTATION('',(#17),#287); |
||||||
#14=PROPERTY_DEFINITION('pmi validation property','',#292); |
#14=PROPERTY_DEFINITION('pmi validation property','',#292); |
||||||
#15=PROPERTY_DEFINITION('pmi validation property','',#292); |
#15=PROPERTY_DEFINITION('pmi validation property','',#292); |
||||||
#16=VALUE_REPRESENTATION_ITEM('number of annotations',COUNT_MEASURE(0.)); |
#16=VALUE_REPRESENTATION_ITEM('number of annotations',COUNT_MEASURE(0.)); |
||||||
#17=VALUE_REPRESENTATION_ITEM('number of views',COUNT_MEASURE(0.)); |
#17=VALUE_REPRESENTATION_ITEM('number of views',COUNT_MEASURE(0.)); |
||||||
#18=SHAPE_REPRESENTATION_RELATIONSHIP('','',#152,#19); |
#18=SHAPE_REPRESENTATION_RELATIONSHIP('','',#152,#19); |
||||||
#19=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#150),#287); |
#19=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#150),#287); |
||||||
#20=TOROIDAL_SURFACE('',#171,13.5,1.); |
#20=TOROIDAL_SURFACE('',#171,13.5,1.); |
||||||
#21=SPHERICAL_SURFACE('',#169,1.); |
#21=SPHERICAL_SURFACE('',#169,1.); |
||||||
#22=SPHERICAL_SURFACE('',#170,1.00000000000001); |
#22=SPHERICAL_SURFACE('',#170,1.00000000000001); |
||||||
#23=B_SPLINE_CURVE_WITH_KNOTS('',3,(#220,#221,#222,#223,#224,#225,#226, |
#23=B_SPLINE_CURVE_WITH_KNOTS('',3,(#220,#221,#222,#223,#224,#225,#226, |
||||||
#227,#228,#229,#230),.UNSPECIFIED.,.T.,.F.,(1,1,1,1,1,1,1,1,1,1,1,1,1,1, |
#227,#228,#229,#230),.UNSPECIFIED.,.T.,.F.,(1,1,1,1,1,1,1,1,1,1,1,1,1,1, |
||||||
1),(-0.00213011468239097,-0.00142007645492732,-0.000710038227463658,0., |
1),(-0.00213011468239097,-0.00142007645492732,-0.000710038227463658,0., |
||||||
0.000710038227463658,0.00142007645492732,0.00213011468239097,0.00284015290985463, |
0.000710038227463658,0.00142007645492732,0.00213011468239097,0.00284015290985463, |
||||||
0.00355019113731829,0.00426022936478195,0.0049702675922456,0.00568030581970926, |
0.00355019113731829,0.00426022936478195,0.0049702675922456,0.00568030581970926, |
||||||
0.00639034404717292,0.00710038227463658,0.00781042050210024), |
0.00639034404717292,0.00710038227463658,0.00781042050210024), |
||||||
.UNSPECIFIED.); |
.UNSPECIFIED.); |
||||||
#24=B_SPLINE_CURVE_WITH_KNOTS('',3,(#232,#233,#234,#235,#236,#237,#238, |
#24=B_SPLINE_CURVE_WITH_KNOTS('',3,(#232,#233,#234,#235,#236,#237,#238, |
||||||
#239,#240,#241,#242),.UNSPECIFIED.,.T.,.F.,(1,1,1,1,1,1,1,1,1,1,1,1,1,1, |
#239,#240,#241,#242),.UNSPECIFIED.,.T.,.F.,(1,1,1,1,1,1,1,1,1,1,1,1,1,1, |
||||||
1),(-0.00213011468239097,-0.00142007645492732,-0.000710038227463658,0., |
1),(-0.00213011468239097,-0.00142007645492732,-0.000710038227463658,0., |
||||||
0.000710038227463658,0.00142007645492732,0.00213011468239097,0.00284015290985463, |
0.000710038227463658,0.00142007645492732,0.00213011468239097,0.00284015290985463, |
||||||
0.00355019113731829,0.00426022936478195,0.00497026759224561,0.00568030581970926, |
0.00355019113731829,0.00426022936478195,0.00497026759224561,0.00568030581970926, |
||||||
0.00639034404717292,0.00710038227463658,0.00781042050210024), |
0.00639034404717292,0.00710038227463658,0.00781042050210024), |
||||||
.UNSPECIFIED.); |
.UNSPECIFIED.); |
||||||
#25=B_SPLINE_CURVE_WITH_KNOTS('',3,(#253,#254,#255,#256,#257,#258,#259, |
#25=B_SPLINE_CURVE_WITH_KNOTS('',3,(#253,#254,#255,#256,#257,#258,#259, |
||||||
#260,#261,#262,#263,#264),.UNSPECIFIED.,.T.,.F.,(1,1,1,1,1,1,1,1,1,1,1, |
#260,#261,#262,#263,#264),.UNSPECIFIED.,.T.,.F.,(1,1,1,1,1,1,1,1,1,1,1, |
||||||
1,1,1,1,1),(-0.00246096023081856,-0.00164064015387904,-0.000820320076939518, |
1,1,1,1,1),(-0.00246096023081856,-0.00164064015387904,-0.000820320076939518, |
||||||
0.,0.000820320076939518,0.00164064015387904,0.00246096023081855,0.00287112026928831, |
0.,0.000820320076939518,0.00164064015387904,0.00246096023081855,0.00287112026928831, |
||||||
0.00328128030775807,0.00410160038469759,0.00492192046163711,0.00574224053857663, |
0.00328128030775807,0.00410160038469759,0.00492192046163711,0.00574224053857663, |
||||||
0.00656256061551615,0.00738288069245566,0.00820320076939518,0.0090235208463347), |
0.00656256061551615,0.00738288069245566,0.00820320076939518,0.0090235208463347), |
||||||
.UNSPECIFIED.); |
.UNSPECIFIED.); |
||||||
#26=B_SPLINE_CURVE_WITH_KNOTS('',3,(#266,#267,#268,#269,#270,#271,#272, |
#26=B_SPLINE_CURVE_WITH_KNOTS('',3,(#266,#267,#268,#269,#270,#271,#272, |
||||||
#273,#274,#275,#276,#277),.UNSPECIFIED.,.T.,.F.,(1,1,1,1,1,1,1,1,1,1,1, |
#273,#274,#275,#276,#277),.UNSPECIFIED.,.T.,.F.,(1,1,1,1,1,1,1,1,1,1,1, |
||||||
1,1,1,1,1),(-0.00246208055624213,-0.00164138703749475,-0.000820693518747376, |
1,1,1,1,1),(-0.00246208055624213,-0.00164138703749475,-0.000820693518747376, |
||||||
0.,0.000820693518747376,0.00164138703749475,0.00246208055624213,0.0032827740749895, |
0.,0.000820693518747376,0.00164138703749475,0.00246208055624213,0.0032827740749895, |
||||||
0.00369312083436319,0.00410346759373688,0.00492416111248425,0.00574485463123163, |
0.00369312083436319,0.00410346759373688,0.00492416111248425,0.00574485463123163, |
||||||
0.00656554814997901,0.00738624166872638,0.00820693518747376,0.00902762870622113), |
0.00656554814997901,0.00738624166872638,0.00820693518747376,0.00902762870622113), |
||||||
.UNSPECIFIED.); |
.UNSPECIFIED.); |
||||||
#27=CYLINDRICAL_SURFACE('',#158,2.99999999999999); |
#27=CYLINDRICAL_SURFACE('',#158,2.99999999999999); |
||||||
#28=CYLINDRICAL_SURFACE('',#164,5.50000000000001); |
#28=CYLINDRICAL_SURFACE('',#164,5.50000000000001); |
||||||
#29=CONICAL_SURFACE('',#156,2.25,0.349065850398866); |
#29=CONICAL_SURFACE('',#156,2.25,0.349065850398866); |
||||||
#30=CONICAL_SURFACE('',#162,5.,0.785398163397448); |
#30=CONICAL_SURFACE('',#162,5.,0.785398163397448); |
||||||
#31=CONICAL_SURFACE('',#166,5.50000000000001,0.785398163397448); |
#31=CONICAL_SURFACE('',#166,5.50000000000001,0.785398163397448); |
||||||
#32=ORIENTED_EDGE('',*,*,#54,.F.); |
#32=ORIENTED_EDGE('',*,*,#54,.F.); |
||||||
#33=ORIENTED_EDGE('',*,*,#55,.F.); |
#33=ORIENTED_EDGE('',*,*,#55,.F.); |
||||||
#34=ORIENTED_EDGE('',*,*,#54,.T.); |
#34=ORIENTED_EDGE('',*,*,#54,.T.); |
||||||
#35=ORIENTED_EDGE('',*,*,#56,.F.); |
#35=ORIENTED_EDGE('',*,*,#56,.F.); |
||||||
#36=ORIENTED_EDGE('',*,*,#57,.T.); |
#36=ORIENTED_EDGE('',*,*,#57,.T.); |
||||||
#37=ORIENTED_EDGE('',*,*,#58,.T.); |
#37=ORIENTED_EDGE('',*,*,#58,.T.); |
||||||
#38=ORIENTED_EDGE('',*,*,#55,.T.); |
#38=ORIENTED_EDGE('',*,*,#55,.T.); |
||||||
#39=ORIENTED_EDGE('',*,*,#59,.F.); |
#39=ORIENTED_EDGE('',*,*,#59,.F.); |
||||||
#40=ORIENTED_EDGE('',*,*,#56,.T.); |
#40=ORIENTED_EDGE('',*,*,#56,.T.); |
||||||
#41=ORIENTED_EDGE('',*,*,#60,.F.); |
#41=ORIENTED_EDGE('',*,*,#60,.F.); |
||||||
#42=ORIENTED_EDGE('',*,*,#59,.T.); |
#42=ORIENTED_EDGE('',*,*,#59,.T.); |
||||||
#43=ORIENTED_EDGE('',*,*,#61,.F.); |
#43=ORIENTED_EDGE('',*,*,#61,.F.); |
||||||
#44=ORIENTED_EDGE('',*,*,#62,.T.); |
#44=ORIENTED_EDGE('',*,*,#62,.T.); |
||||||
#45=ORIENTED_EDGE('',*,*,#63,.T.); |
#45=ORIENTED_EDGE('',*,*,#63,.T.); |
||||||
#46=ORIENTED_EDGE('',*,*,#60,.T.); |
#46=ORIENTED_EDGE('',*,*,#60,.T.); |
||||||
#47=ORIENTED_EDGE('',*,*,#64,.F.); |
#47=ORIENTED_EDGE('',*,*,#64,.F.); |
||||||
#48=ORIENTED_EDGE('',*,*,#61,.T.); |
#48=ORIENTED_EDGE('',*,*,#61,.T.); |
||||||
#49=ORIENTED_EDGE('',*,*,#64,.T.); |
#49=ORIENTED_EDGE('',*,*,#64,.T.); |
||||||
#50=ORIENTED_EDGE('',*,*,#58,.F.); |
#50=ORIENTED_EDGE('',*,*,#58,.F.); |
||||||
#51=ORIENTED_EDGE('',*,*,#57,.F.); |
#51=ORIENTED_EDGE('',*,*,#57,.F.); |
||||||
#52=ORIENTED_EDGE('',*,*,#62,.F.); |
#52=ORIENTED_EDGE('',*,*,#62,.F.); |
||||||
#53=ORIENTED_EDGE('',*,*,#63,.F.); |
#53=ORIENTED_EDGE('',*,*,#63,.F.); |
||||||
#54=EDGE_CURVE('',#65,#65,#76,.T.); |
#54=EDGE_CURVE('',#65,#65,#76,.T.); |
||||||
#55=EDGE_CURVE('',#66,#66,#77,.T.); |
#55=EDGE_CURVE('',#66,#66,#77,.T.); |
||||||
#56=EDGE_CURVE('',#67,#67,#78,.T.); |
#56=EDGE_CURVE('',#67,#67,#78,.T.); |
||||||
#57=EDGE_CURVE('',#68,#68,#23,.T.); |
#57=EDGE_CURVE('',#68,#68,#23,.T.); |
||||||
#58=EDGE_CURVE('',#69,#69,#24,.T.); |
#58=EDGE_CURVE('',#69,#69,#24,.T.); |
||||||
#59=EDGE_CURVE('',#70,#70,#79,.T.); |
#59=EDGE_CURVE('',#70,#70,#79,.T.); |
||||||
#60=EDGE_CURVE('',#71,#71,#80,.T.); |
#60=EDGE_CURVE('',#71,#71,#80,.T.); |
||||||
#61=EDGE_CURVE('',#72,#72,#81,.T.); |
#61=EDGE_CURVE('',#72,#72,#81,.T.); |
||||||
#62=EDGE_CURVE('',#73,#73,#25,.T.); |
#62=EDGE_CURVE('',#73,#73,#25,.T.); |
||||||
#63=EDGE_CURVE('',#74,#74,#26,.T.); |
#63=EDGE_CURVE('',#74,#74,#26,.T.); |
||||||
#64=EDGE_CURVE('',#75,#75,#82,.T.); |
#64=EDGE_CURVE('',#75,#75,#82,.T.); |
||||||
#65=VERTEX_POINT('',#213); |
#65=VERTEX_POINT('',#213); |
||||||
#66=VERTEX_POINT('',#216); |
#66=VERTEX_POINT('',#216); |
||||||
#67=VERTEX_POINT('',#219); |
#67=VERTEX_POINT('',#219); |
||||||
#68=VERTEX_POINT('',#231); |
#68=VERTEX_POINT('',#231); |
||||||
#69=VERTEX_POINT('',#243); |
#69=VERTEX_POINT('',#243); |
||||||
#70=VERTEX_POINT('',#246); |
#70=VERTEX_POINT('',#246); |
||||||
#71=VERTEX_POINT('',#249); |
#71=VERTEX_POINT('',#249); |
||||||
#72=VERTEX_POINT('',#252); |
#72=VERTEX_POINT('',#252); |
||||||
#73=VERTEX_POINT('',#265); |
#73=VERTEX_POINT('',#265); |
||||||
#74=VERTEX_POINT('',#278); |
#74=VERTEX_POINT('',#278); |
||||||
#75=VERTEX_POINT('',#281); |
#75=VERTEX_POINT('',#281); |
||||||
#76=CIRCLE('',#155,2.25); |
#76=CIRCLE('',#155,2.25); |
||||||
#77=CIRCLE('',#157,3.); |
#77=CIRCLE('',#157,3.); |
||||||
#78=CIRCLE('',#159,2.99999999999999); |
#78=CIRCLE('',#159,2.99999999999999); |
||||||
#79=CIRCLE('',#161,5.); |
#79=CIRCLE('',#161,5.); |
||||||
#80=CIRCLE('',#163,5.50000000000001); |
#80=CIRCLE('',#163,5.50000000000001); |
||||||
#81=CIRCLE('',#165,5.50000000000001); |
#81=CIRCLE('',#165,5.50000000000001); |
||||||
#82=CIRCLE('',#167,5.00000000000001); |
#82=CIRCLE('',#167,5.00000000000001); |
||||||
#83=EDGE_LOOP('',(#32)); |
#83=EDGE_LOOP('',(#32)); |
||||||
#84=EDGE_LOOP('',(#33)); |
#84=EDGE_LOOP('',(#33)); |
||||||
#85=EDGE_LOOP('',(#34)); |
#85=EDGE_LOOP('',(#34)); |
||||||
#86=EDGE_LOOP('',(#35)); |
#86=EDGE_LOOP('',(#35)); |
||||||
#87=EDGE_LOOP('',(#36)); |
#87=EDGE_LOOP('',(#36)); |
||||||
#88=EDGE_LOOP('',(#37)); |
#88=EDGE_LOOP('',(#37)); |
||||||
#89=EDGE_LOOP('',(#38)); |
#89=EDGE_LOOP('',(#38)); |
||||||
#90=EDGE_LOOP('',(#39)); |
#90=EDGE_LOOP('',(#39)); |
||||||
#91=EDGE_LOOP('',(#40)); |
#91=EDGE_LOOP('',(#40)); |
||||||
#92=EDGE_LOOP('',(#41)); |
#92=EDGE_LOOP('',(#41)); |
||||||
#93=EDGE_LOOP('',(#42)); |
#93=EDGE_LOOP('',(#42)); |
||||||
#94=EDGE_LOOP('',(#43)); |
#94=EDGE_LOOP('',(#43)); |
||||||
#95=EDGE_LOOP('',(#44)); |
#95=EDGE_LOOP('',(#44)); |
||||||
#96=EDGE_LOOP('',(#45)); |
#96=EDGE_LOOP('',(#45)); |
||||||
#97=EDGE_LOOP('',(#46)); |
#97=EDGE_LOOP('',(#46)); |
||||||
#98=EDGE_LOOP('',(#47)); |
#98=EDGE_LOOP('',(#47)); |
||||||
#99=EDGE_LOOP('',(#48)); |
#99=EDGE_LOOP('',(#48)); |
||||||
#100=EDGE_LOOP('',(#49)); |
#100=EDGE_LOOP('',(#49)); |
||||||
#101=EDGE_LOOP('',(#50)); |
#101=EDGE_LOOP('',(#50)); |
||||||
#102=EDGE_LOOP('',(#51)); |
#102=EDGE_LOOP('',(#51)); |
||||||
#103=EDGE_LOOP('',(#52)); |
#103=EDGE_LOOP('',(#52)); |
||||||
#104=EDGE_LOOP('',(#53)); |
#104=EDGE_LOOP('',(#53)); |
||||||
#105=FACE_BOUND('',#83,.T.); |
#105=FACE_BOUND('',#83,.T.); |
||||||
#106=FACE_BOUND('',#84,.T.); |
#106=FACE_BOUND('',#84,.T.); |
||||||
#107=FACE_BOUND('',#85,.T.); |
#107=FACE_BOUND('',#85,.T.); |
||||||
#108=FACE_BOUND('',#86,.T.); |
#108=FACE_BOUND('',#86,.T.); |
||||||
#109=FACE_BOUND('',#87,.T.); |
#109=FACE_BOUND('',#87,.T.); |
||||||
#110=FACE_BOUND('',#88,.T.); |
#110=FACE_BOUND('',#88,.T.); |
||||||
#111=FACE_BOUND('',#89,.T.); |
#111=FACE_BOUND('',#89,.T.); |
||||||
#112=FACE_BOUND('',#90,.T.); |
#112=FACE_BOUND('',#90,.T.); |
||||||
#113=FACE_BOUND('',#91,.T.); |
#113=FACE_BOUND('',#91,.T.); |
||||||
#114=FACE_BOUND('',#92,.T.); |
#114=FACE_BOUND('',#92,.T.); |
||||||
#115=FACE_BOUND('',#93,.T.); |
#115=FACE_BOUND('',#93,.T.); |
||||||
#116=FACE_BOUND('',#94,.T.); |
#116=FACE_BOUND('',#94,.T.); |
||||||
#117=FACE_BOUND('',#95,.T.); |
#117=FACE_BOUND('',#95,.T.); |
||||||
#118=FACE_BOUND('',#96,.T.); |
#118=FACE_BOUND('',#96,.T.); |
||||||
#119=FACE_BOUND('',#97,.T.); |
#119=FACE_BOUND('',#97,.T.); |
||||||
#120=FACE_BOUND('',#98,.T.); |
#120=FACE_BOUND('',#98,.T.); |
||||||
#121=FACE_BOUND('',#99,.T.); |
#121=FACE_BOUND('',#99,.T.); |
||||||
#122=FACE_BOUND('',#100,.T.); |
#122=FACE_BOUND('',#100,.T.); |
||||||
#123=FACE_BOUND('',#101,.T.); |
#123=FACE_BOUND('',#101,.T.); |
||||||
#124=FACE_BOUND('',#102,.T.); |
#124=FACE_BOUND('',#102,.T.); |
||||||
#125=FACE_BOUND('',#103,.T.); |
#125=FACE_BOUND('',#103,.T.); |
||||||
#126=FACE_BOUND('',#104,.T.); |
#126=FACE_BOUND('',#104,.T.); |
||||||
#127=PLANE('',#154); |
#127=PLANE('',#154); |
||||||
#128=PLANE('',#160); |
#128=PLANE('',#160); |
||||||
#129=PLANE('',#168); |
#129=PLANE('',#168); |
||||||
#130=ADVANCED_FACE('',(#105),#127,.F.); |
#130=ADVANCED_FACE('',(#105),#127,.F.); |
||||||
#131=ADVANCED_FACE('',(#106,#107),#29,.T.); |
#131=ADVANCED_FACE('',(#106,#107),#29,.T.); |
||||||
#132=ADVANCED_FACE('',(#108,#109,#110,#111),#27,.T.); |
#132=ADVANCED_FACE('',(#108,#109,#110,#111),#27,.T.); |
||||||
#133=ADVANCED_FACE('',(#112,#113),#128,.F.); |
#133=ADVANCED_FACE('',(#112,#113),#128,.F.); |
||||||
#134=ADVANCED_FACE('',(#114,#115),#30,.T.); |
#134=ADVANCED_FACE('',(#114,#115),#30,.T.); |
||||||
#135=ADVANCED_FACE('',(#116,#117,#118,#119),#28,.T.); |
#135=ADVANCED_FACE('',(#116,#117,#118,#119),#28,.T.); |
||||||
#136=ADVANCED_FACE('',(#120,#121),#31,.T.); |
#136=ADVANCED_FACE('',(#120,#121),#31,.T.); |
||||||
#137=ADVANCED_FACE('',(#122),#129,.F.); |
#137=ADVANCED_FACE('',(#122),#129,.F.); |
||||||
#138=ADVANCED_FACE('',(#123),#21,.T.); |
#138=ADVANCED_FACE('',(#123),#21,.T.); |
||||||
#139=ADVANCED_FACE('',(#124),#22,.T.); |
#139=ADVANCED_FACE('',(#124),#22,.T.); |
||||||
#140=ADVANCED_FACE('',(#125,#126),#20,.T.); |
#140=ADVANCED_FACE('',(#125,#126),#20,.T.); |
||||||
#141=CLOSED_SHELL('',(#130,#131,#132,#133,#134,#135,#136,#137,#138,#139, |
#141=CLOSED_SHELL('',(#130,#131,#132,#133,#134,#135,#136,#137,#138,#139, |
||||||
#140)); |
#140)); |
||||||
#142=STYLED_ITEM('',(#143),#150); |
#142=STYLED_ITEM('',(#143),#150); |
||||||
#143=PRESENTATION_STYLE_ASSIGNMENT((#144)); |
#143=PRESENTATION_STYLE_ASSIGNMENT((#144)); |
||||||
#144=SURFACE_STYLE_USAGE(.BOTH.,#145); |
#144=SURFACE_STYLE_USAGE(.BOTH.,#145); |
||||||
#145=SURFACE_SIDE_STYLE('',(#146)); |
#145=SURFACE_SIDE_STYLE('',(#146)); |
||||||
#146=SURFACE_STYLE_FILL_AREA(#147); |
#146=SURFACE_STYLE_FILL_AREA(#147); |
||||||
#147=FILL_AREA_STYLE('',(#148)); |
#147=FILL_AREA_STYLE('',(#148)); |
||||||
#148=FILL_AREA_STYLE_COLOUR('',#149); |
#148=FILL_AREA_STYLE_COLOUR('',#149); |
||||||
#149=COLOUR_RGB('',0.689999997615814,0.689999997615814,0.689999997615814); |
#149=COLOUR_RGB('',0.689999997615814,0.689999997615814,0.689999997615814); |
||||||
#150=MANIFOLD_SOLID_BREP('BLPS6-30',#141); |
#150=MANIFOLD_SOLID_BREP('BLPS6-30',#141); |
||||||
#151=SHAPE_DEFINITION_REPRESENTATION(#292,#152); |
#151=SHAPE_DEFINITION_REPRESENTATION(#292,#152); |
||||||
#152=SHAPE_REPRESENTATION('BLPS6-30',(#153),#287); |
#152=SHAPE_REPRESENTATION('BLPS6-30',(#153),#287); |
||||||
#153=AXIS2_PLACEMENT_3D('',#210,#172,#173); |
#153=AXIS2_PLACEMENT_3D('',#210,#172,#173); |
||||||
#154=AXIS2_PLACEMENT_3D('',#211,#174,#175); |
#154=AXIS2_PLACEMENT_3D('',#211,#174,#175); |
||||||
#155=AXIS2_PLACEMENT_3D('',#212,#176,#177); |
#155=AXIS2_PLACEMENT_3D('',#212,#176,#177); |
||||||
#156=AXIS2_PLACEMENT_3D('',#214,#178,#179); |
#156=AXIS2_PLACEMENT_3D('',#214,#178,#179); |
||||||
#157=AXIS2_PLACEMENT_3D('',#215,#180,#181); |
#157=AXIS2_PLACEMENT_3D('',#215,#180,#181); |
||||||
#158=AXIS2_PLACEMENT_3D('',#217,#182,#183); |
#158=AXIS2_PLACEMENT_3D('',#217,#182,#183); |
||||||
#159=AXIS2_PLACEMENT_3D('',#218,#184,#185); |
#159=AXIS2_PLACEMENT_3D('',#218,#184,#185); |
||||||
#160=AXIS2_PLACEMENT_3D('',#244,#186,#187); |
#160=AXIS2_PLACEMENT_3D('',#244,#186,#187); |
||||||
#161=AXIS2_PLACEMENT_3D('',#245,#188,#189); |
#161=AXIS2_PLACEMENT_3D('',#245,#188,#189); |
||||||
#162=AXIS2_PLACEMENT_3D('',#247,#190,#191); |
#162=AXIS2_PLACEMENT_3D('',#247,#190,#191); |
||||||
#163=AXIS2_PLACEMENT_3D('',#248,#192,#193); |
#163=AXIS2_PLACEMENT_3D('',#248,#192,#193); |
||||||
#164=AXIS2_PLACEMENT_3D('',#250,#194,#195); |
#164=AXIS2_PLACEMENT_3D('',#250,#194,#195); |
||||||
#165=AXIS2_PLACEMENT_3D('',#251,#196,#197); |
#165=AXIS2_PLACEMENT_3D('',#251,#196,#197); |
||||||
#166=AXIS2_PLACEMENT_3D('',#279,#198,#199); |
#166=AXIS2_PLACEMENT_3D('',#279,#198,#199); |
||||||
#167=AXIS2_PLACEMENT_3D('',#280,#200,#201); |
#167=AXIS2_PLACEMENT_3D('',#280,#200,#201); |
||||||
#168=AXIS2_PLACEMENT_3D('',#282,#202,#203); |
#168=AXIS2_PLACEMENT_3D('',#282,#202,#203); |
||||||
#169=AXIS2_PLACEMENT_3D('',#283,#204,#205); |
#169=AXIS2_PLACEMENT_3D('',#283,#204,#205); |
||||||
#170=AXIS2_PLACEMENT_3D('',#284,#206,#207); |
#170=AXIS2_PLACEMENT_3D('',#284,#206,#207); |
||||||
#171=AXIS2_PLACEMENT_3D('',#285,#208,#209); |
#171=AXIS2_PLACEMENT_3D('',#285,#208,#209); |
||||||
#172=DIRECTION('',(0.,0.,1.)); |
#172=DIRECTION('',(0.,0.,1.)); |
||||||
#173=DIRECTION('',(1.,0.,0.)); |
#173=DIRECTION('',(1.,0.,0.)); |
||||||
#174=DIRECTION('',(1.,0.,0.)); |
#174=DIRECTION('',(1.,0.,0.)); |
||||||
#175=DIRECTION('',(0.,0.,-1.)); |
#175=DIRECTION('',(0.,0.,-1.)); |
||||||
#176=DIRECTION('',(1.,0.,0.)); |
#176=DIRECTION('',(1.,0.,0.)); |
||||||
#177=DIRECTION('',(0.,0.,-1.)); |
#177=DIRECTION('',(0.,0.,-1.)); |
||||||
#178=DIRECTION('',(1.,0.,0.)); |
#178=DIRECTION('',(1.,0.,0.)); |
||||||
#179=DIRECTION('',(0.,0.,-1.)); |
#179=DIRECTION('',(0.,0.,-1.)); |
||||||
#180=DIRECTION('',(1.,0.,0.)); |
#180=DIRECTION('',(1.,0.,0.)); |
||||||
#181=DIRECTION('',(0.,0.,-1.)); |
#181=DIRECTION('',(0.,0.,-1.)); |
||||||
#182=DIRECTION('',(1.,0.,0.)); |
#182=DIRECTION('',(1.,0.,0.)); |
||||||
#183=DIRECTION('',(0.,0.,-1.)); |
#183=DIRECTION('',(0.,0.,-1.)); |
||||||
#184=DIRECTION('',(1.,0.,0.)); |
#184=DIRECTION('',(1.,0.,0.)); |
||||||
#185=DIRECTION('',(0.,0.,-1.)); |
#185=DIRECTION('',(0.,0.,-1.)); |
||||||
#186=DIRECTION('',(1.,0.,0.)); |
#186=DIRECTION('',(1.,0.,0.)); |
||||||
#187=DIRECTION('',(0.,0.,-1.)); |
#187=DIRECTION('',(0.,0.,-1.)); |
||||||
#188=DIRECTION('',(1.,0.,0.)); |
#188=DIRECTION('',(1.,0.,0.)); |
||||||
#189=DIRECTION('',(0.,0.,-1.)); |
#189=DIRECTION('',(0.,0.,-1.)); |
||||||
#190=DIRECTION('',(1.,0.,0.)); |
#190=DIRECTION('',(1.,0.,0.)); |
||||||
#191=DIRECTION('',(0.,0.,-1.)); |
#191=DIRECTION('',(0.,0.,-1.)); |
||||||
#192=DIRECTION('',(1.,0.,0.)); |
#192=DIRECTION('',(1.,0.,0.)); |
||||||
#193=DIRECTION('',(0.,0.,-1.)); |
#193=DIRECTION('',(0.,0.,-1.)); |
||||||
#194=DIRECTION('',(1.,0.,0.)); |
#194=DIRECTION('',(1.,0.,0.)); |
||||||
#195=DIRECTION('',(0.,0.,-1.)); |
#195=DIRECTION('',(0.,0.,-1.)); |
||||||
#196=DIRECTION('',(1.,0.,0.)); |
#196=DIRECTION('',(1.,0.,0.)); |
||||||
#197=DIRECTION('',(0.,0.,-1.)); |
#197=DIRECTION('',(0.,0.,-1.)); |
||||||
#198=DIRECTION('',(-1.,0.,0.)); |
#198=DIRECTION('',(-1.,0.,0.)); |
||||||
#199=DIRECTION('',(0.,0.,1.)); |
#199=DIRECTION('',(0.,0.,1.)); |
||||||
#200=DIRECTION('',(1.,0.,0.)); |
#200=DIRECTION('',(1.,0.,0.)); |
||||||
#201=DIRECTION('',(0.,0.,-1.)); |
#201=DIRECTION('',(0.,0.,-1.)); |
||||||
#202=DIRECTION('',(-1.,0.,0.)); |
#202=DIRECTION('',(-1.,0.,0.)); |
||||||
#203=DIRECTION('',(0.,0.,1.)); |
#203=DIRECTION('',(0.,0.,1.)); |
||||||
#204=DIRECTION('',(0.,-1.,0.)); |
#204=DIRECTION('',(0.,-1.,0.)); |
||||||
#205=DIRECTION('',(1.,0.,0.)); |
#205=DIRECTION('',(1.,0.,0.)); |
||||||
#206=DIRECTION('',(0.,-1.,0.)); |
#206=DIRECTION('',(0.,-1.,0.)); |
||||||
#207=DIRECTION('',(1.,0.,0.)); |
#207=DIRECTION('',(1.,0.,0.)); |
||||||
#208=DIRECTION('',(0.,0.,-1.)); |
#208=DIRECTION('',(0.,0.,-1.)); |
||||||
#209=DIRECTION('',(-1.,0.,0.)); |
#209=DIRECTION('',(-1.,0.,0.)); |
||||||
#210=CARTESIAN_POINT('',(0.,0.,0.)); |
#210=CARTESIAN_POINT('',(0.,0.,0.)); |
||||||
#211=CARTESIAN_POINT('',(-37.,0.,0.)); |
#211=CARTESIAN_POINT('',(-37.,0.,0.)); |
||||||
#212=CARTESIAN_POINT('',(-37.,0.,0.)); |
#212=CARTESIAN_POINT('',(-37.,0.,0.)); |
||||||
#213=CARTESIAN_POINT('',(-37.,0.,-2.25)); |
#213=CARTESIAN_POINT('',(-37.,0.,-2.25)); |
||||||
#214=CARTESIAN_POINT('',(-37.,0.,0.)); |
#214=CARTESIAN_POINT('',(-37.,0.,0.)); |
||||||
#215=CARTESIAN_POINT('',(-34.939391935409,0.,0.)); |
#215=CARTESIAN_POINT('',(-34.939391935409,0.,0.)); |
||||||
#216=CARTESIAN_POINT('',(-34.939391935409,0.,-3.)); |
#216=CARTESIAN_POINT('',(-34.939391935409,0.,-3.)); |
||||||
#217=CARTESIAN_POINT('',(22.,0.,0.)); |
#217=CARTESIAN_POINT('',(22.,0.,0.)); |
||||||
#218=CARTESIAN_POINT('',(0.,0.,0.)); |
#218=CARTESIAN_POINT('',(0.,0.,0.)); |
||||||
#219=CARTESIAN_POINT('',(0.,0.,-2.99999999999999)); |
#219=CARTESIAN_POINT('',(0.,0.,-2.99999999999999)); |
||||||
#220=CARTESIAN_POINT('',(-30.2981054466722,2.93158539532437,-0.716503329431903)); |
#220=CARTESIAN_POINT('',(-30.2981054466722,2.93158539532437,-0.716503329431903)); |
||||||
#221=CARTESIAN_POINT('',(-30.0519402412929,3.03411824740147,0.000468119148707335)); |
#221=CARTESIAN_POINT('',(-30.0519402412929,3.03411824740147,0.000468119148707335)); |
||||||
#222=CARTESIAN_POINT('',(-30.2979811322214,2.93194167262263,0.714630852837074)); |
#222=CARTESIAN_POINT('',(-30.2979811322214,2.93194167262263,0.714630852837074)); |
||||||
#223=CARTESIAN_POINT('',(-30.9971605241931,2.80911142335978,1.04742458569903)); |
#223=CARTESIAN_POINT('',(-30.9971605241931,2.80911142335978,1.04742458569903)); |
||||||
#224=CARTESIAN_POINT('',(-31.7021489159825,2.93161683609581,0.716156218118217)); |
#224=CARTESIAN_POINT('',(-31.7021489159825,2.93161683609581,0.716156218118217)); |
||||||
#225=CARTESIAN_POINT('',(-31.9476955277396,3.03403455836936,0.000582337814804714)); |
#225=CARTESIAN_POINT('',(-31.9476955277396,3.03403455836936,0.000582337814804714)); |
||||||
#226=CARTESIAN_POINT('',(-31.7032195308964,2.93224428441228,-0.713663068037461)); |
#226=CARTESIAN_POINT('',(-31.7032195308964,2.93224428441228,-0.713663068037461)); |
||||||
#227=CARTESIAN_POINT('',(-31.002624886804,2.80904374522738,-1.04757940533916)); |
#227=CARTESIAN_POINT('',(-31.002624886804,2.80904374522738,-1.04757940533916)); |
||||||
#228=CARTESIAN_POINT('',(-30.2981054466722,2.93158539532437,-0.716503329431903)); |
#228=CARTESIAN_POINT('',(-30.2981054466722,2.93158539532437,-0.716503329431903)); |
||||||
#229=CARTESIAN_POINT('',(-30.0519402412929,3.03411824740147,0.000468119148707335)); |
#229=CARTESIAN_POINT('',(-30.0519402412929,3.03411824740147,0.000468119148707335)); |
||||||
#230=CARTESIAN_POINT('',(-30.2979811322214,2.93194167262263,0.714630852837074)); |
#230=CARTESIAN_POINT('',(-30.2979811322214,2.93194167262263,0.714630852837074)); |
||||||
#231=CARTESIAN_POINT('',(-30.1339745906775,3.00000000959214,0.)); |
#231=CARTESIAN_POINT('',(-30.1339745906775,3.00000000959214,0.)); |
||||||
#232=CARTESIAN_POINT('',(-31.7018945533278,-2.93158539532437,-0.716503329431905)); |
#232=CARTESIAN_POINT('',(-31.7018945533278,-2.93158539532437,-0.716503329431905)); |
||||||
#233=CARTESIAN_POINT('',(-31.9480597587071,-3.03411824740147,0.000468119148708433)); |
#233=CARTESIAN_POINT('',(-31.9480597587071,-3.03411824740147,0.000468119148708433)); |
||||||
#234=CARTESIAN_POINT('',(-31.7020188677786,-2.93194167262263,0.714630852837071)); |
#234=CARTESIAN_POINT('',(-31.7020188677786,-2.93194167262263,0.714630852837071)); |
||||||
#235=CARTESIAN_POINT('',(-31.0028394758069,-2.80911142335978,1.04742458569903)); |
#235=CARTESIAN_POINT('',(-31.0028394758069,-2.80911142335978,1.04742458569903)); |
||||||
#236=CARTESIAN_POINT('',(-30.2978510840175,-2.93161683609581,0.716156218118216)); |
#236=CARTESIAN_POINT('',(-30.2978510840175,-2.93161683609581,0.716156218118216)); |
||||||
#237=CARTESIAN_POINT('',(-30.0523044722604,-3.03403455836936,0.000582337814806098)); |
#237=CARTESIAN_POINT('',(-30.0523044722604,-3.03403455836936,0.000582337814806098)); |
||||||
#238=CARTESIAN_POINT('',(-30.2967804691036,-2.93224428441228,-0.713663068037466)); |
#238=CARTESIAN_POINT('',(-30.2967804691036,-2.93224428441228,-0.713663068037466)); |
||||||
#239=CARTESIAN_POINT('',(-30.997375113196,-2.80904374522738,-1.04757940533915)); |
#239=CARTESIAN_POINT('',(-30.997375113196,-2.80904374522738,-1.04757940533915)); |
||||||
#240=CARTESIAN_POINT('',(-31.7018945533278,-2.93158539532437,-0.716503329431905)); |
#240=CARTESIAN_POINT('',(-31.7018945533278,-2.93158539532437,-0.716503329431905)); |
||||||
#241=CARTESIAN_POINT('',(-31.9480597587071,-3.03411824740147,0.000468119148708433)); |
#241=CARTESIAN_POINT('',(-31.9480597587071,-3.03411824740147,0.000468119148708433)); |
||||||
#242=CARTESIAN_POINT('',(-31.7020188677786,-2.93194167262263,0.714630852837071)); |
#242=CARTESIAN_POINT('',(-31.7020188677786,-2.93194167262263,0.714630852837071)); |
||||||
#243=CARTESIAN_POINT('',(-31.8660254093225,-3.00000000959215,0.)); |
#243=CARTESIAN_POINT('',(-31.8660254093225,-3.00000000959215,0.)); |
||||||
#244=CARTESIAN_POINT('',(0.,2.99999999999999,0.)); |
#244=CARTESIAN_POINT('',(0.,2.99999999999999,0.)); |
||||||
#245=CARTESIAN_POINT('',(0.,0.,0.)); |
#245=CARTESIAN_POINT('',(0.,0.,0.)); |
||||||
#246=CARTESIAN_POINT('',(0.,0.,-5.)); |
#246=CARTESIAN_POINT('',(0.,0.,-5.)); |
||||||
#247=CARTESIAN_POINT('',(0.,0.,0.)); |
#247=CARTESIAN_POINT('',(0.,0.,0.)); |
||||||
#248=CARTESIAN_POINT('',(0.5,0.,0.)); |
#248=CARTESIAN_POINT('',(0.5,0.,0.)); |
||||||
#249=CARTESIAN_POINT('',(0.5,0.,-5.50000000000001)); |
#249=CARTESIAN_POINT('',(0.5,0.,-5.50000000000001)); |
||||||
#250=CARTESIAN_POINT('',(22.,0.,0.)); |
#250=CARTESIAN_POINT('',(22.,0.,0.)); |
||||||
#251=CARTESIAN_POINT('',(21.5,0.,0.)); |
#251=CARTESIAN_POINT('',(21.5,0.,0.)); |
||||||
#252=CARTESIAN_POINT('',(21.5,0.,-5.50000000000001)); |
#252=CARTESIAN_POINT('',(21.5,0.,-5.50000000000001)); |
||||||
#253=CARTESIAN_POINT('',(17.6194312615033,5.48813338978463,0.57415151186354)); |
#253=CARTESIAN_POINT('',(17.6194312615033,5.48813338978463,0.57415151186354)); |
||||||
#254=CARTESIAN_POINT('',(17.5097323066621,5.51353154212275,-0.327718277324678)); |
#254=CARTESIAN_POINT('',(17.5097323066621,5.51353154212275,-0.327718277324678)); |
||||||
#255=CARTESIAN_POINT('',(18.1009847553462,5.41219550585469,-0.996489588489896)); |
#255=CARTESIAN_POINT('',(18.1009847553462,5.41219550585469,-0.996489588489896)); |
||||||
#256=CARTESIAN_POINT('',(18.9778194968378,5.3999459311365,-1.04349206785208)); |
#256=CARTESIAN_POINT('',(18.9778194968378,5.3999459311365,-1.04349206785208)); |
||||||
#257=CARTESIAN_POINT('',(19.5807170594394,5.47070822967605,-0.649099616948038)); |
#257=CARTESIAN_POINT('',(19.5807170594394,5.47070822967605,-0.649099616948038)); |
||||||
#258=CARTESIAN_POINT('',(19.8013933984028,5.50402992337341,-0.127109769368597)); |
#258=CARTESIAN_POINT('',(19.8013933984028,5.50402992337341,-0.127109769368597)); |
||||||
#259=CARTESIAN_POINT('',(19.7397963544495,5.49436026569588,0.439103483839107)); |
#259=CARTESIAN_POINT('',(19.7397963544495,5.49436026569588,0.439103483839107)); |
||||||
#260=CARTESIAN_POINT('',(19.2146447673061,5.41989979678556,0.956157238682612)); |
#260=CARTESIAN_POINT('',(19.2146447673061,5.41989979678556,0.956157238682612)); |
||||||
#261=CARTESIAN_POINT('',(18.3527875610899,5.39329609535734,1.0745283614827)); |
#261=CARTESIAN_POINT('',(18.3527875610899,5.39329609535734,1.0745283614827)); |
||||||
#262=CARTESIAN_POINT('',(17.6194312615033,5.48813338978463,0.57415151186354)); |
#262=CARTESIAN_POINT('',(17.6194312615033,5.48813338978463,0.57415151186354)); |
||||||
#263=CARTESIAN_POINT('',(17.5097323066621,5.51353154212275,-0.327718277324678)); |
#263=CARTESIAN_POINT('',(17.5097323066621,5.51353154212275,-0.327718277324678)); |
||||||
#264=CARTESIAN_POINT('',(18.1009847553462,5.41219550585469,-0.996489588489896)); |
#264=CARTESIAN_POINT('',(18.1009847553462,5.41219550585469,-0.996489588489896)); |
||||||
#265=CARTESIAN_POINT('',(17.626557540583,5.49240917735505,-0.288868530987511)); |
#265=CARTESIAN_POINT('',(17.626557540583,5.49240917735505,-0.288868530987511)); |
||||||
#266=CARTESIAN_POINT('',(18.1031266079147,-5.4120476825642,-0.997658966791885)); |
#266=CARTESIAN_POINT('',(18.1031266079147,-5.4120476825642,-0.997658966791885)); |
||||||
#267=CARTESIAN_POINT('',(17.5094168210087,-5.51351319050868,-0.326742921871018)); |
#267=CARTESIAN_POINT('',(17.5094168210087,-5.51351319050868,-0.326742921871018)); |
||||||
#268=CARTESIAN_POINT('',(17.6185513515484,-5.48835461953138,0.571419468350888)); |
#268=CARTESIAN_POINT('',(17.6185513515484,-5.48835461953138,0.571419468350888)); |
||||||
#269=CARTESIAN_POINT('',(18.3508974718185,-5.39331605936612,1.07489418908395)); |
#269=CARTESIAN_POINT('',(18.3508974718185,-5.39331605936612,1.07489418908395)); |
||||||
#270=CARTESIAN_POINT('',(19.2148642508201,-5.41993684712511,0.955541258251998)); |
#270=CARTESIAN_POINT('',(19.2148642508201,-5.41993684712511,0.955541258251998)); |
||||||
#271=CARTESIAN_POINT('',(19.7369021961461,-5.49392903087277,0.442599076295526)); |
#271=CARTESIAN_POINT('',(19.7369021961461,-5.49392903087277,0.442599076295526)); |
||||||
#272=CARTESIAN_POINT('',(19.8022162417969,-5.50416611407539,-0.121165597034992)); |
#272=CARTESIAN_POINT('',(19.8022162417969,-5.50416611407539,-0.121165597034992)); |
||||||
#273=CARTESIAN_POINT('',(19.5847944257621,-5.47124191486014,-0.645740897244751)); |
#273=CARTESIAN_POINT('',(19.5847944257621,-5.47124191486014,-0.645740897244751)); |
||||||
#274=CARTESIAN_POINT('',(18.9778159438532,-5.39990499073232,-1.04374283751222)); |
#274=CARTESIAN_POINT('',(18.9778159438532,-5.39990499073232,-1.04374283751222)); |
||||||
#275=CARTESIAN_POINT('',(18.1031266079147,-5.4120476825642,-0.997658966791885)); |
#275=CARTESIAN_POINT('',(18.1031266079147,-5.4120476825642,-0.997658966791885)); |
||||||
#276=CARTESIAN_POINT('',(17.5094168210087,-5.51351319050868,-0.326742921871018)); |
#276=CARTESIAN_POINT('',(17.5094168210087,-5.51351319050868,-0.326742921871018)); |
||||||
#277=CARTESIAN_POINT('',(17.6185513515484,-5.48835461953138,0.571419468350888)); |
#277=CARTESIAN_POINT('',(17.6185513515484,-5.48835461953138,0.571419468350888)); |
||||||
#278=CARTESIAN_POINT('',(17.626557540583,-5.49240917735505,-0.288868530987511)); |
#278=CARTESIAN_POINT('',(17.626557540583,-5.49240917735505,-0.288868530987511)); |
||||||
#279=CARTESIAN_POINT('',(21.5,0.,0.)); |
#279=CARTESIAN_POINT('',(21.5,0.,0.)); |
||||||
#280=CARTESIAN_POINT('',(22.,0.,0.)); |
#280=CARTESIAN_POINT('',(22.,0.,0.)); |
||||||
#281=CARTESIAN_POINT('',(22.,0.,-5.00000000000001)); |
#281=CARTESIAN_POINT('',(22.,0.,-5.00000000000001)); |
||||||
#282=CARTESIAN_POINT('',(22.,5.00000000000001,0.)); |
#282=CARTESIAN_POINT('',(22.,5.00000000000001,0.)); |
||||||
#283=CARTESIAN_POINT('',(-31.,-2.49999999999999,0.)); |
#283=CARTESIAN_POINT('',(-31.,-2.49999999999999,0.)); |
||||||
#284=CARTESIAN_POINT('',(-31.,2.49999999999999,0.)); |
#284=CARTESIAN_POINT('',(-31.,2.49999999999999,0.)); |
||||||
#285=CARTESIAN_POINT('',(31.,0.,0.)); |
#285=CARTESIAN_POINT('',(31.,0.,0.)); |
||||||
#286=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#142), |
#286=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#142), |
||||||
#287); |
#287); |
||||||
#287=( |
#287=( |
||||||
GEOMETRIC_REPRESENTATION_CONTEXT(3) |
GEOMETRIC_REPRESENTATION_CONTEXT(3) |
||||||
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#288)) |
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#288)) |
||||||
GLOBAL_UNIT_ASSIGNED_CONTEXT((#291,#290,#289)) |
GLOBAL_UNIT_ASSIGNED_CONTEXT((#291,#290,#289)) |
||||||
REPRESENTATION_CONTEXT('BLPS6-30','TOP_LEVEL_ASSEMBLY_PART') |
REPRESENTATION_CONTEXT('BLPS6-30','TOP_LEVEL_ASSEMBLY_PART') |
||||||
); |
); |
||||||
#288=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.005),#291, |
#288=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.005),#291, |
||||||
'DISTANCE_ACCURACY_VALUE','Maximum Tolerance applied to model'); |
'DISTANCE_ACCURACY_VALUE','Maximum Tolerance applied to model'); |
||||||
#289=( |
#289=( |
||||||
NAMED_UNIT(*) |
NAMED_UNIT(*) |
||||||
SI_UNIT($,.STERADIAN.) |
SI_UNIT($,.STERADIAN.) |
||||||
SOLID_ANGLE_UNIT() |
SOLID_ANGLE_UNIT() |
||||||
); |
); |
||||||
#290=( |
#290=( |
||||||
NAMED_UNIT(*) |
NAMED_UNIT(*) |
||||||
PLANE_ANGLE_UNIT() |
PLANE_ANGLE_UNIT() |
||||||
SI_UNIT($,.RADIAN.) |
SI_UNIT($,.RADIAN.) |
||||||
); |
); |
||||||
#291=( |
#291=( |
||||||
LENGTH_UNIT() |
LENGTH_UNIT() |
||||||
NAMED_UNIT(*) |
NAMED_UNIT(*) |
||||||
SI_UNIT(.MILLI.,.METRE.) |
SI_UNIT(.MILLI.,.METRE.) |
||||||
); |
); |
||||||
#292=PRODUCT_DEFINITION_SHAPE('','',#293); |
#292=PRODUCT_DEFINITION_SHAPE('','',#293); |
||||||
#293=PRODUCT_DEFINITION('','',#295,#294); |
#293=PRODUCT_DEFINITION('','',#295,#294); |
||||||
#294=PRODUCT_DEFINITION_CONTEXT('',#301,'design'); |
#294=PRODUCT_DEFINITION_CONTEXT('',#301,'design'); |
||||||
#295=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('','',#297, |
#295=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('','',#297, |
||||||
.NOT_KNOWN.); |
.NOT_KNOWN.); |
||||||
#296=PRODUCT_RELATED_PRODUCT_CATEGORY('','',(#297)); |
#296=PRODUCT_RELATED_PRODUCT_CATEGORY('','',(#297)); |
||||||
#297=PRODUCT('BLPS6-30','BLPS6-30','BLPS6-30',(#299)); |
#297=PRODUCT('BLPS6-30','BLPS6-30','BLPS6-30',(#299)); |
||||||
#298=PRODUCT_CATEGORY('',''); |
#298=PRODUCT_CATEGORY('',''); |
||||||
#299=PRODUCT_CONTEXT('',#301,'mechanical'); |
#299=PRODUCT_CONTEXT('',#301,'mechanical'); |
||||||
#300=APPLICATION_PROTOCOL_DEFINITION('international standard', |
#300=APPLICATION_PROTOCOL_DEFINITION('international standard', |
||||||
'automotive_design',2010,#301); |
'automotive_design',2010,#301); |
||||||
#301=APPLICATION_CONTEXT( |
#301=APPLICATION_CONTEXT( |
||||||
'core data for automotive mechanical design processes'); |
'core data for automotive mechanical design processes'); |
||||||
ENDSEC; |
ENDSEC; |
||||||
END-ISO-10303-21; |
END-ISO-10303-21; |
||||||
|
@ -1,167 +1,167 @@ |
|||||||
from pathlib import Path |
from pathlib import Path |
||||||
import os |
import os |
||||||
|
|
||||||
import FreeCAD as App |
import FreeCAD as App |
||||||
import Import |
import Import |
||||||
import ImportGui |
import ImportGui |
||||||
|
|
||||||
project_folder = os.getcwd() |
project_folder = os.getcwd() |
||||||
output_folder = project_folder + '/dist/STEP' |
output_folder = project_folder + '/dist/STEP' |
||||||
assemblies_output_folder = project_folder + '/dist/FCStd' |
assemblies_output_folder = project_folder + '/dist/FCStd' |
||||||
|
|
||||||
def close_all_docs(): |
def close_all_docs(): |
||||||
while len(App.listDocuments().values()) > 0: |
while len(App.listDocuments().values()) > 0: |
||||||
App.closeDocument(list(App.listDocuments().values())[0].Name) |
App.closeDocument(list(App.listDocuments().values())[0].Name) |
||||||
|
|
||||||
def convert_file(file_name, output_format): |
def convert_file(file_name, output_format): |
||||||
doc = App.open(project_folder + '\\' + file_name) |
doc = App.open(project_folder + '\\' + file_name) |
||||||
|
|
||||||
root_objects = [] |
root_objects = [] |
||||||
main_object = None |
main_object = None |
||||||
|
|
||||||
#print("document: " + doc.Name) |
#print("document: " + doc.Name) |
||||||
print("document: " + doc.Name) |
print("document: " + doc.Name) |
||||||
for obj in doc.Objects: |
for obj in doc.Objects: |
||||||
if len(obj.Parents) == 0: |
if len(obj.Parents) == 0: |
||||||
#print(obj.Label) |
#print(obj.Label) |
||||||
print("Object Label : " + obj.Label) |
print("Object Label : " + obj.Label) |
||||||
root_objects.append(obj) |
root_objects.append(obj) |
||||||
if obj.Label == doc.Name or obj.Label == doc.Name + ' (experimental)': |
if obj.Label == doc.Name or obj.Label == doc.Name + ' (experimental)': |
||||||
main_object = obj |
main_object = obj |
||||||
|
|
||||||
if main_object is None and len(root_objects) == 1: |
if main_object is None and len(root_objects) == 1: |
||||||
main_object = root_objects[0] |
main_object = root_objects[0] |
||||||
|
|
||||||
if main_object is None: |
if main_object is None: |
||||||
raise Exception("Can't find main object in file " + file_name + " (found " + str(len(root_objects)) + " root object(s), none named like the document " + doc.Name + ")") |
raise Exception("Can't find main object in file " + file_name + " (found " + str(len(root_objects)) + " root object(s), none named like the document " + doc.Name + ")") |
||||||
|
|
||||||
if 'experimental' in main_object.Label or 'expérimental' in main_object.Label: |
if 'experimental' in main_object.Label or 'expérimental' in main_object.Label: |
||||||
print('Document ' + doc.Name + ' is marked as experimental and will be ignored') |
print('Document ' + doc.Name + ' is marked as experimental and will be ignored') |
||||||
close_all_docs() |
close_all_docs() |
||||||
return |
return |
||||||
|
|
||||||
secondary_objects = [] |
secondary_objects = [] |
||||||
code_obj = doc.getObjectsByLabel('Code_Tube_Draft') |
code_obj = doc.getObjectsByLabel('Code_Tube_Draft') |
||||||
# |
# |
||||||
print("len(code_obj) : " + str(len(code_obj))) |
print("len(code_obj) : " + str(len(code_obj))) |
||||||
if len(code_obj) == 1: |
if len(code_obj) == 1: |
||||||
code_obj = code_obj[0] |
code_obj = code_obj[0] |
||||||
#code_obj.Label = 'Code_Tube' |
#code_obj.Label = 'Code_Tube' |
||||||
#secondary_objects.append(code_obj) |
#secondary_objects.append(code_obj) |
||||||
|
|
||||||
# engrave code on tube |
# engrave code on tube |
||||||
#code_pocket = main_object.newObjectAt('PartDesign::Pocket','Pocket', [code_obj]) |
#code_pocket = main_object.newObjectAt('PartDesign::Pocket','Pocket', [code_obj]) |
||||||
code_pocket = main_object.newObject('PartDesign::Pocket','Pocket') |
code_pocket = main_object.newObject('PartDesign::Pocket','Pocket') |
||||||
code_pocket.Profile = code_obj |
code_pocket.Profile = code_obj |
||||||
code_pocket.Length = 0.2 |
code_pocket.Length = 0.2 |
||||||
code_pocket.recompute() |
code_pocket.recompute() |
||||||
main_object.recompute() |
main_object.recompute() |
||||||
|
|
||||||
if len(secondary_objects) > 0: |
if len(secondary_objects) > 0: |
||||||
group = doc.addObject('App::Part', 'Groupe') |
group = doc.addObject('App::Part', 'Groupe') |
||||||
group.addObject(main_object) |
group.addObject(main_object) |
||||||
for obj in secondary_objects: |
for obj in secondary_objects: |
||||||
group.addObject(obj) |
group.addObject(obj) |
||||||
main_object = group |
main_object = group |
||||||
|
|
||||||
output_path = output_folder + '/' + os.path.dirname(file_name) + '/' + Path(file_name).stem + '.' + output_format |
output_path = output_folder + '/' + os.path.dirname(file_name) + '/' + Path(file_name).stem + '.' + output_format |
||||||
output_dir = os.path.dirname(output_path) |
output_dir = os.path.dirname(output_path) |
||||||
if not os.path.exists(output_dir): |
if not os.path.exists(output_dir): |
||||||
os.makedirs(output_dir) |
os.makedirs(output_dir) |
||||||
|
|
||||||
if output_format.lower() == 'stpz': |
if output_format.lower() == 'stpz': |
||||||
import stepZ |
import stepZ |
||||||
stepZ.export([main_object], output_path) |
stepZ.export([main_object], output_path) |
||||||
else: |
else: |
||||||
Import.export([main_object], output_path) |
Import.export([main_object], output_path) |
||||||
|
|
||||||
close_all_docs() |
close_all_docs() |
||||||
|
|
||||||
def convert_assembly(file_name, output_format): |
def convert_assembly(file_name, output_format): |
||||||
print("Exporting assembly " + file_name + "...") |
print("Exporting assembly " + file_name + "...") |
||||||
|
|
||||||
doc = App.open(project_folder + '/' + file_name) |
doc = App.open(project_folder + '/' + file_name) |
||||||
|
|
||||||
root_objects = [] |
root_objects = [] |
||||||
main_object = None |
main_object = None |
||||||
|
|
||||||
# remove all objects that are not visible, or not in the TypeId whitelist, because we don't want to export those |
# remove all objects that are not visible, or not in the TypeId whitelist, because we don't want to export those |
||||||
need_check_objects = True |
need_check_objects = True |
||||||
while need_check_objects: |
while need_check_objects: |
||||||
need_check_objects = False |
need_check_objects = False |
||||||
for obj in doc.Objects: |
for obj in doc.Objects: |
||||||
if not obj.Visibility or obj.TypeId not in ['Part::Feature', 'Part::FeaturePython', 'PartDesign::Body', 'Part::Mirroring', 'Part::Cut', 'Part::Part2DObjectPython', 'Part::MultiFuse', 'Part::Loft', 'Part::Torus', 'Part::Cylinder', 'App::DocumentObjectGroup', 'App::Part', 'App::Link']: |
if not obj.Visibility or obj.TypeId not in ['Part::Feature', 'Part::FeaturePython', 'PartDesign::Body', 'Part::Mirroring', 'Part::Cut', 'Part::Part2DObjectPython', 'Part::MultiFuse', 'Part::Loft', 'Part::Torus', 'Part::Cylinder', 'App::DocumentObjectGroup', 'App::Part', 'App::Link']: |
||||||
#print('removing ' + obj.Name + ' ('+obj.Label+')') |
#print('removing ' + obj.Name + ' ('+obj.Label+')') |
||||||
doc.removeObject(obj.Name) |
doc.removeObject(obj.Name) |
||||||
need_check_objects = True |
need_check_objects = True |
||||||
break |
break |
||||||
|
|
||||||
for obj in doc.Objects: |
for obj in doc.Objects: |
||||||
if len(obj.Parents) == 0: |
if len(obj.Parents) == 0: |
||||||
#print(obj.Label) |
#print(obj.Label) |
||||||
root_objects.append(obj) |
root_objects.append(obj) |
||||||
if obj.Label == doc.Name: |
if obj.Label == doc.Name: |
||||||
main_object = obj |
main_object = obj |
||||||
|
|
||||||
if main_object is None and len(root_objects) == 1: |
if main_object is None and len(root_objects) == 1: |
||||||
main_object = root_objects[0] |
main_object = root_objects[0] |
||||||
|
|
||||||
if main_object is None: |
if main_object is None: |
||||||
raise Exception("Can't find main assembly in file " + file_name + " (found " + str(len(root_objects)) + " root object(s), none named like the document " + doc.Name + ")") |
raise Exception("Can't find main assembly in file " + file_name + " (found " + str(len(root_objects)) + " root object(s), none named like the document " + doc.Name + ")") |
||||||
|
|
||||||
output_path = output_folder + '/' + os.path.dirname(file_name) + '/' + Path(file_name).stem + '.' + output_format |
output_path = output_folder + '/' + os.path.dirname(file_name) + '/' + Path(file_name).stem + '.' + output_format |
||||||
output_dir = os.path.dirname(output_path) |
output_dir = os.path.dirname(output_path) |
||||||
if not os.path.exists(output_dir): |
if not os.path.exists(output_dir): |
||||||
os.makedirs(output_dir) |
os.makedirs(output_dir) |
||||||
|
|
||||||
if output_format.lower() == 'stpz': |
if output_format.lower() == 'stpz': |
||||||
import stepZ |
import stepZ |
||||||
stepZ.export([main_object], output_path) |
stepZ.export([main_object], output_path) |
||||||
else: |
else: |
||||||
ImportGui.export([main_object], output_path) |
ImportGui.export([main_object], output_path) |
||||||
|
|
||||||
close_all_docs() |
close_all_docs() |
||||||
|
|
||||||
def export_configuration(doc, config_name, output_filename): |
def export_configuration(doc, config_name, output_filename): |
||||||
print('Generating assembly for configuration '+config_name+'...') |
print('Generating assembly for configuration '+config_name+'...') |
||||||
|
|
||||||
Gui.Selection.clearSelection() |
Gui.Selection.clearSelection() |
||||||
Gui.Selection.addSelection('vheliotech','Model','Configurations.'+doc.getObjectsByLabel(config_name)[0].Name+'.') |
Gui.Selection.addSelection('vheliotech','Model','Configurations.'+doc.getObjectsByLabel(config_name)[0].Name+'.') |
||||||
Gui.runCommand('Asm4_applyConfiguration') |
Gui.runCommand('Asm4_applyConfiguration') |
||||||
Gui.Selection.clearSelection() |
Gui.Selection.clearSelection() |
||||||
|
|
||||||
doc.saveAs(assemblies_output_folder + '/' + output_filename + '.FCStd') |
doc.saveAs(assemblies_output_folder + '/' + output_filename + '.FCStd') |
||||||
|
|
||||||
try: |
try: |
||||||
folders = [ |
folders = [ |
||||||
#'chaudronnerie', |
#'chaudronnerie', |
||||||
'tubes' |
'tubes' |
||||||
] |
] |
||||||
|
|
||||||
for folder in folders: |
for folder in folders: |
||||||
files = os.listdir(project_folder + '\\' + folder) |
files = os.listdir(project_folder + '\\' + folder) |
||||||
for source_file in files: |
for source_file in files: |
||||||
if not source_file.endswith('.FCStd'): continue |
if not source_file.endswith('.FCStd'): continue |
||||||
source_path = folder + '\\' + source_file |
source_path = folder + '\\' + source_file |
||||||
print(source_path) |
print(source_path) |
||||||
convert_file(source_path, 'step') |
convert_file(source_path, 'step') |
||||||
# |
# |
||||||
print ("back from convert") |
print ("back from convert") |
||||||
|
|
||||||
# convert_assembly('vheliotech.FCStd', 'step') |
# convert_assembly('vheliotech.FCStd', 'step') |
||||||
|
|
||||||
# '''doc = App.open(project_folder + '/vheliotech.FCStd') |
# '''doc = App.open(project_folder + '/vheliotech.FCStd') |
||||||
# export_configuration(doc, 'Config_Integrale', 'vheliotech-config-integrale') |
# export_configuration(doc, 'Config_Integrale', 'vheliotech-config-integrale') |
||||||
# export_configuration(doc, 'Config_Solaire', 'vheliotech-config-solaire') |
# export_configuration(doc, 'Config_Solaire', 'vheliotech-config-solaire') |
||||||
# export_configuration(doc, 'Config_Motorisee', 'vheliotech-config-motorisee') |
# export_configuration(doc, 'Config_Motorisee', 'vheliotech-config-motorisee') |
||||||
# export_configuration(doc, 'Config_Basique', 'vheliotech-config-basique') |
# export_configuration(doc, 'Config_Basique', 'vheliotech-config-basique') |
||||||
# close_all_docs()''' |
# close_all_docs()''' |
||||||
|
|
||||||
except Exception as e: |
except Exception as e: |
||||||
print(e) |
print(e) |
||||||
|
|
||||||
# exit FreeCAD |
# exit FreeCAD |
||||||
close_all_docs() |
close_all_docs() |
||||||
# FreeCADGui.getMainWindow().close() |
# FreeCADGui.getMainWindow().close() |
||||||
Gui.runCommand('Std_Quit') |
Gui.runCommand('Std_Quit') |
||||||
|
|
||||||
|
@ -1,24 +1,24 @@ |
|||||||
:: Set the path to your FreeCAD executable here |
:: Set the path to your FreeCAD executable here |
||||||
set FREECAD=C:\Program Files\FreeCAD 0.21\bin\freecad.exe |
set FREECAD=C:\Program Files\FreeCAD 0.21\bin\freecad.exe |
||||||
|
|
||||||
set SCRIPT_DIR=%~dp0 |
set SCRIPT_DIR=%~dp0 |
||||||
echo %SCRIPT_DIR% >>%TMP%\toto.txt |
echo %SCRIPT_DIR% >>%TMP%\toto.txt |
||||||
cd %script_dir% |
cd %script_dir% |
||||||
echo %cd% >>%TMP%\toto.txt |
echo %cd% >>%TMP%\toto.txt |
||||||
|
|
||||||
cd .. |
cd .. |
||||||
echo %cd% >>%TMP%\toto.txt |
echo %cd% >>%TMP%\toto.txt |
||||||
:: rm -rf ./dist |
:: rm -rf ./dist |
||||||
|
|
||||||
:: Check script syntax before starting freecad |
:: Check script syntax before starting freecad |
||||||
:: python3 -m py_compile tools/export-all-parts.py |
:: python3 -m py_compile tools/export-all-parts.py |
||||||
|
|
||||||
:: Export all versioned files |
:: Export all versioned files |
||||||
:: mkdir -p dist/FCStd |
:: mkdir -p dist/FCStd |
||||||
:: git archive HEAD . | tar -x -C dist/FCStd |
:: git archive HEAD . | tar -x -C dist/FCStd |
||||||
|
|
||||||
:: Start freecad to run the script. We must start freecad with GUI (otherwise we can't export colors). We start it hidden in a virtual framebuffer (xvfb) so that it can run cleanly in the background. |
:: Start freecad to run the script. We must start freecad with GUI (otherwise we can't export colors). We start it hidden in a virtual framebuffer (xvfb) so that it can run cleanly in the background. |
||||||
:: xvfb-run $FREECAD tools/export-all-parts.py |
:: xvfb-run $FREECAD tools/export-all-parts.py |
||||||
:: %freecad%/freecad.exe tools/export-all-parts.py |
:: %freecad%/freecad.exe tools/export-all-parts.py |
||||||
echo %freecad% |
echo %freecad% |
||||||
start "" "%freecad%" tools/export-all-parts.py |
start "" "%freecad%" tools/export-all-parts.py |