Compare commits

..

14 Commits

Author SHA1 Message Date
wmayer f25e6e4716 0001714: FreeCAD 0.14 Stable crashes when importing a step model 2014-09-02 11:43:51 +02:00
wmayer 3ecaf8778d - fix focus issue with InputField
- on document load set camera setting of the MDI views
- do not try to use framebuffer objects when it's not supported on the system
0001690: sketch.getPoint crashes FreeCAD if the point does not exist
0001630: IGES-Export in [mm] turns to [Inches]
0001684: Sweep ignores the list of subshapes
0001667: 'Save file' disabled when viewing a drawing
0001682: Crash after updating editable texts in drawing
0001659: 3dconnexion space navigator moves view even when FreeCAD is not the active application
0001696: Quantity.getValueAs('rad') touches the Property
0001638: Not possible to draw anything
2014-08-28 15:27:35 +02:00
Yorik van Havre c6edd47334 Updated version number in makedist.py script 2014-07-14 12:42:02 -03:00
Yorik van Havre b3368125c6 Draft: Array tool now prints commands in the python console 2014-07-13 12:33:02 -03:00
wmayer 32f5aae0a6 + fix crash when trying to edit broken revolve object 2014-07-13 11:51:30 +02:00
wmayer 3dbcf24d71 + fix crash when trying to edit broken revolve object 2014-07-13 11:51:14 +02:00
Yorik van Havre a3a6ec2184 Draft: Further fix in text encodings 2014-07-11 18:05:33 -03:00
Yorik van Havre e46ec63540 Merge branch 'releases/FreeCAD-0-14' of ssh://git.code.sf.net/p/free-cad/code into releases/FreeCAD-0-14 2014-07-11 18:05:09 -03:00
Yorik van Havre df36b5d22d Draft: Fixed escape() bug in Draft GUI 2014-07-11 11:57:00 -03:00
Yorik van Havre 3d70df7745 Draft - fixed some text encodings in dimensions 2014-07-11 11:56:03 -03:00
wmayer 52561adbd8 + fix Part.makeTube 2014-07-08 12:30:05 +02:00
Yorik van Havre d802958860 Draft: Fixed escape() bug in Draft GUI 2014-07-08 12:28:50 +02:00
wmayer e517e3b634 + update NSIS installer 2014-07-05 15:46:20 +02:00
Yorik van Havre 5fe6e0c48f Draft: fix in angular dimension 2014-07-04 10:23:31 +02:00
8745 changed files with 1503876 additions and 2749215 deletions
-3
View File
@@ -1,3 +0,0 @@
{
"phabricator.uri" : "http://pha.geofinder.eu/"
}
-19
View File
@@ -1,19 +0,0 @@
version: 2
jobs:
build:
working_directory: ~/test
machine: true
steps:
- checkout
- run:
command: docker pull condaforge/linux-anvil
- run:
# Run, test and (if we have a BINSTAR_TOKEN) upload the distributions.
command: ./package/conda/run_docker_build.sh
workflows:
version: 2
build_and_test:
jobs:
- build
-10
View File
@@ -1,10 +0,0 @@
Thank you for creating a pull request to contribute to FreeCAD! To ease integration, please confirm the following:
- [ ] Branch rebased on latest master `git pull --rebase upstream master`
- [ ] Unit tests confirmed to pass by running `./bin/FreeCAD --run-test 0`
- [ ] Commit message is [well-written](https://chris.beams.io/posts/git-commit/)
- [ ] Commit message includes `issue #<id>` or `fixes #<id>` where `<id>` is the [associated MantisBT](https://freecadweb.org/wiki/tracker#GitHub_and_MantisBT) issue id if one exists
And please remember to update the Wiki with the features added or changed once this PR is merged.
---
+1 -12
View File
@@ -14,6 +14,7 @@ cmake_install.cmake
*~
CMakeFiles/
*qrc.depends
qrc_*.cpp
ui_*.h
moc_*.cpp
Makefile
@@ -26,15 +27,3 @@ install_manifest.txt
/lib/
/Mod/
/ZERO_CHECK.dir/
/build/
/src/Tools/offlinedoc/localwiki/
/src/Tools/offlinedoc/*.txt
OpenSCAD_rc.py
.subuser-dev
/\.idea/
.tags
tags
/\.vscode/
# crowdin file
src/Tools/freecad.zip
-3
View File
@@ -1,3 +0,0 @@
Wrn:
Err:
Cannot find icon:
-1
View File
@@ -1 +0,0 @@
{"image-sources-dir": "./subuser"}
-252
View File
@@ -1,252 +0,0 @@
####
# Travis-CI configuration file for FreeCAD.
#
# This build configuration will build and test FreeCAD on both Linux
# and Mac OS X. For Mac OS X, this configuration will also package
# and deploy the build to GitHub provided the following prerequisites
# are satisfied:
#
# GH_TOKEN is defined as a secure environment variable and contains a
# a valid GitHub OAUTH token with repo_deployment scope.
# NOTE: Define this env using the Travis-CI Repo Settings UI
#
# FREECAD_RELEASE: A GitHub Release with this identifier exists in the
# repo. The Travis job will deploy the OS X build to this
# GitHub release name as a release asset.
#
# DEPLOY: Repo setting to deploy (defaults to no deploy to reduce
# Travis build times. Set DEPLOY=1 to enable in repo settings.
##
env:
global:
- FREECAD_RELEASE="0.18"
- DEPLOY_RELEASE=${DEPLOY_RELEASE:-$FREECAD_RELEASE}
- CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release}
- OSX_PORTS_CACHE=${OSX_PORTS_CACHE:-FreeCAD/FreeCAD-ports-cache}
- DEPLOY=${DEPLOY:-0}
matrix:
# chunk.io key (if needed, obtain it with Yorik, PrzemoF, Kunda1)
secure: MJu0ZU/9Yqut6bUkHoSrXTV/c/WhCLR0KnHKCsnEU081PYoukzH6ngzgKk7/trAH2In080d/ra4B2OmTNl/LAgV6DXKFY9dO1aG8QwcrHgaMPf0pHYUy/OfwQSFYFByQDV2OEMAHcIWc/dtNkzK2QUi44Kn7d0GtSEiN4s816lriWtjg0vmEGAU8MjvcAGss4gKyn05Xm1NUCYPKgpgIHsywLbpE76lv0eOYoosEuKv5Q9Pb4FMQts02+JUlqE8eY4ZZ3nV8iQbgIDdseOSA7Ixn05zWjU/ZRZ74TrYxMnzfUAwQcJe9OcqoESq+pPWQt5HYG66VmeVxQim1gmsiDASH51U/nswKt0Q4bISj3tVk0YZMFV8Ax+SzPvLEmFZJQGfgO1mg7HdNcz9N9G5JHPawrV19DwYIEFbAw8MCSAoIXFOcPQZUWXCbtjm7NO9vCjMrqyVJMDD9L8omvQajHoajuHbOT8KB250gFokeLj3z8yu++Tz+IrZX5inUMrXsARVt/ALXpi8rJPXmoFMpMUjyWmDPqPWlnqUhLtTtEtKpuOWP8ZnWVwkg4QYOUhCy95C1okJSGkG+ylHWncWfY4mS+UBT525laoh+GOhH+sRW+p2xkI21xGFRqg1oHjjgY1yIYF6nnSHPzxMBRYmZwagyXsjkFG5FPMWR2oYk0Yg
cache:
ccache: true
language: cpp
python:
- 2.7
- 3.4
# Inject osx build into matrix - needed to specify image/dist
matrix:
allow_failures:
- python: 3.7
- os: osx
fast_finish: true # https://blog.travis-ci.com/2013-11-27-fast-finishing-builds
include:
- os: linux
dist: trusty
compiler: clang
env:
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON"
- PYTHON_MAJOR_VERSION=2
- os: linux
dist: trusty
compiler: gcc
env:
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON"
- PYTHON_MAJOR_VERSION=2
- os: linux
dist: trusty
compiler: gcc
env:
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON"
- PYTHON_MAJOR_VERSION=3
- language: python
python: 3.7
dist: xenial # required for Python >= 3.7 (travis-ci/travis-ci#9069)
before_install: true
install: python3 -m pip install flake8
# fail the build if there are Python syntax errors or undefined names
script: flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics
# macOS build is failing. See: https://forum.freecadweb.org/viewtopic.php?f=10&t=32272
- os: osx
compiler: clang
env:
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON" QT=Qt5
- PYTHON_MAJOR_VERSION=2
git:
depth: 5000
notifications:
email: false
webhooks:
urls:
- https://webhooks.gitter.im/e/479456663cdf5c84e4d8
on_success: always
on_failure: always
on_start: change
before_install:
- eval "$(curl -fsSL "https://raw.githubusercontent.com/${OSX_PORTS_CACHE}/v${FREECAD_RELEASE}/travis-helpers.sh")"
- |
case "${TRAVIS_OS_NAME}" in
"linux")
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends \
doxygen \
libboost1.55-dev \
libboost-filesystem1.55-dev \
libboost-program-options1.55-dev \
libboost-python1.55-dev \
libboost-regex1.55-dev \
libboost-signals1.55-dev \
libboost-system1.55-dev \
libboost-thread1.55-dev \
libcoin80 \
libcoin80-dev \
liboce-foundation-dev \
liboce-modeling-dev \
liboce-ocaf-dev \
liboce-ocaf-lite-dev \
liboce-visualization-dev \
libpyside-dev \
libqtcore4 \
libshiboken-dev \
libxerces-c-dev \
libxmu-dev \
libxmu-headers \
libxmu6 \
libxmuu-dev \
libxmuu1 \
netgen \
netgen-headers \
oce-draw \
pyside-tools \
python-dev \
python-pyside \
python-matplotlib \
python3-dev \
python3-pyside \
python3-matplotlib \
qt4-dev-tools \
qt4-qmake \
libqt4-opengl-dev \
shiboken \
swig \
libvtk6-dev \
libmed-dev \
libmedc-dev \
asciidoc
# Make sure dpkg is upgraded for Ubuntu 14.04 (required for eigen3)
sudo apt-get install -y dpkg
# Use latest Eigen3 package
curl -L http://security.ubuntu.com/ubuntu/pool/universe/e/eigen3/libeigen3-dev_3.3.4-4_all.deb -o libeigen3.deb \
&& sudo dpkg -i libeigen3.deb
# Install ccache to reduce successive build times (use newer version to minimize issues)
# XXX: ccache <=3.4.3 always builds manuals, requiring asciidoc/xsltproc
# XXX: 3.4.4 might have --disable-man (at least its present in their git)
sudo apt install -y xsltproc
curl -L "https://codeload.github.com/ccache/ccache/tar.gz/v3.4.3" | tar xvz && cd ccache-*
./autogen.sh && ./configure CC=gcc && sudo make install
cd ${TRAVIS_BUILD_DIR}
export DISPLAY=:99.0
sh -e /etc/init.d/xvfb start
export CCACHE_CPP2=YES
if [[ ${PYTHON_MAJOR_VERSION} == 2 ]]
then
export CMAKE_ARGS="${CMAKE_OPTS} -DPYTHON_EXECUTABLE=/usr/bin/python"
else
export CMAKE_ARGS="${CMAKE_OPTS} -DPYTHON_EXECUTABLE=/usr/bin/python3.4 -DPYTHON_BASENAME=.cpython-34m \
-DPYTHON_SUFFIX=.cpython-34m"
fi
export INSTALLED_APP_PATH="/usr/local/bin/FreeCAD"
;;
"osx")
xcodebuild -version -sdk
brew --config
if [ "${OSX_PORTS_CACHE}X" != "X" ]; then
brew install jq
cacheContext=$(create_helper_context repo=${OSX_PORTS_CACHE} auth_token=${GH_TOKEN} release=${FREECAD_RELEASE})
travis_wait prime_local_ports_cache $cacheContext
fi
brew update >/dev/null
brew --config
brew tap FreeCAD/freecad
brew install --verbose --only-dependencies freecad --with-packaging-utils
pip install six
# Qt5: Set Qt5 build flag and CMAKE_PREFIX
QT5_CMAKE_PREFIX=$(ls -d $(brew --cellar)/qt/*/lib/cmake)
QT5_WEBKIT_CMAKE_PREFIX=$(ls -d $(brew --cellar)/qtwebkit/*/lib/cmake)
CMAKE_OPTS="${CMAKE_OPTS} -DBUILD_QT5=ON -DCMAKE_PREFIX_PATH=${QT5_CMAKE_PREFIX};${QT5_WEBKIT_CMAKE_PREFIX}"
#Install the 3DConnexion frameworks
if [ "${DEPLOY}" == "1" ]; then
if [ ! -d /Library/Frameworks/3DconnexionClient.framework ]; then
curl -o /tmp/3dFW.dmg -L 'http://www.3dconnexion.com/index.php?eID=sdl&ext=tx_iccsoftware&oid=a273bdbc-c289-e10d-816b-567043331c9e&filename=3DxWareMac_v10-4-1_r2428.dmg'
hdiutil attach -readonly /tmp/3dFW.dmg
sudo installer -package /Volumes/3Dconnexion\ Software/Install\ 3Dconnexion\ software.pkg -target /
diskutil eject /Volumes/3Dconnexion\ Software
fi
export CMAKE_OPTS="${CMAKE_OPTS} -DFREECAD_CREATE_MAC_APP=ON"
export INSTALLED_APP_PATH="/usr/local/FreeCAD.app/Contents/MacOS/FreeCAD"
else
export INSTALLED_APP_PATH="/usr/local/MacOS/FreeCAD"
fi
export CMAKE_ARGS="${CMAKE_OPTS} -DFREECAD_USE_EXTERNAL_KDL=ON"
;;
*)
echo "Invalid or unsupported operating system ${TRAVIS_OS_NAME}"
exit 1
;;
esac
install:
####
# Build FreeCAD with cmake options set above for each platform
##
- mkdir build && cd build && cmake ${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ../
script:
####
# Install FreeCAD and run unit tests. Test failures will fail the build
##
- sudo make -j2 install
- ${INSTALLED_APP_PATH} --console --run-test 0
- ${INSTALLED_APP_PATH} --log-file /tmp/FreeCAD_installed.log &
- sleep 10 && pkill FreeCAD
- cat /tmp/FreeCAD_installed.log
- grep --file=../.log_errors /tmp/FreeCAD_installed.log ; [ $? == 1 ] && echo "No errors from .log_errors file found in the log after start from /usr/local/bin" || ( echo "Error from .log_errors found!" && false )
after_success:
####
# Package and deploy the build to GitHub. This will only run for builds on
# master (i.e. pull requests are only built and tested but not deployed).
#
# GH_TOKEN must be set in order to deploy releases to GitHub
##
- |
if [ "${TRAVIS_OS_NAME}" == "osx" -a "${TRAVIS_PULL_REQUEST}" == "false" -a "${DEPLOY}" == "1" ]; then
brew ls --versions jq || brew install jq
npm install -g appdmg
export VSN=$(python ${TRAVIS_BUILD_DIR}/src/Tools/ArchiveNameFromVersionHeader.py ${TRAVIS_BUILD_DIR}/build/src/Build/Version.h)
export DEPLOYMENT_ARCHIVE=${VSN}-${QT}.dmg
appdmg ${TRAVIS_BUILD_DIR}/src/MacAppBundle/DiskImage/layout.json "${DEPLOYMENT_ARCHIVE}"
deployContext=$(create_helper_context repo=${TRAVIS_REPO_SLUG} auth_token=${GH_TOKEN} release=${DEPLOY_RELEASE})
gitHub_deploy_asset_to_release_named $deployContext ${DEPLOYMENT_ARCHIVE}
gitHub_prune_assets_for_release_named $deployContext "-${QT}" 1
fi
+21
View File
@@ -0,0 +1,21 @@
@echo off
rem Build script, uses vcbuild to completetly build FreeCAD
rem start again nice (LOW)
if "%1"=="" (
start /WAIT /LOW /B cmd.exe /V /C %~s0 go_ahead
goto:eof
)
rem set the aprobiated Variables here or outside in the system
if NOT DEFINED VCDIR set VCDIR=C:\Program Files\Microsoft Visual Studio 9.0
rem Register VS Build programms
call "%VCDIR%\VC\vcvarsall.bat"
rem "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"C:\SW_Projects\CAD\FreeCAD_10" /closeonend:3
rem Start the Visuall Studio build process
"%VCDIR%\VC\vcpackages\vcbuild.exe" FreeCAD_trunk.sln "Debug|Win32"
"%VCDIR%\VC\vcpackages\vcbuild.exe" FreeCAD_trunk.sln "Debug|Win32"
"%VCDIR%\VC\vcpackages\vcbuild.exe" FreeCAD_trunk.sln "Release|Win32"
+19
View File
@@ -0,0 +1,19 @@
# Version of the release. The Revision number you must specify at the command line
[Version]
Major: 0
Minor: 7
Alias: Bespin
Url: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk
# Here comes the paths of the needed tools to build a release
# the path can be simple or as full path. Depends if you have your tool in PATH
[Tools]
svn: C:\Program Files (x86)\Subversion\svn.exe
wget: C:\Libs\FreeCADLibs\FreeCADLibs6.2\bin\wget.exe
candle: C:\Libs\Libs\wix_30\candle.exe
light: C:\Libs\Libs\wix_30\light.exe
hhc: C:\Program Files (x86)\HTML Help Workshop\hhc.exe
# needet until the build is completely done with cMake
[Libs] # Libs used in the build
FreecadLib: C:\Libs\FreeCADLibs\FreeCADLibs6.2
+342
View File
@@ -0,0 +1,342 @@
#! python
# -*- coding: utf-8 -*-
# (c) 2007 Jürgen Riegel GPL
Usage = """BuildRelease - Build script to build a complete FreeCAD release
Usage:
BuildRelease [Optionen] ReleaseNbr
Options:
-h, --help print this help
-b, --buildPath specify the output path where the build takes place
-i, --ini-file specify the ini file to use
This script will build a complete FreeCAD distribution which includes:
* Check out fresh source
* packing source
* Set the Version and Release numbers
* Gathering change log
* completele build FreeCAD
* run tests
* build source docu
* build user docu
* build installer
* upload to source forge
On failure of one of these steps the script will stop.
Each step writes tones of info in the log file.
There is one error log file.
Autor:
(c) 2007 Juergen Riegel
juergen.riegel@web.de
Licence: GPL
Version:
0.1
"""
#
# Its inteded only to used by the maintainer
import os, sys, getopt
from subprocess import call,Popen,PIPE
from time import sleep
from zipfile import ZipFile,ZIP_DEFLATED
import tarfile
from string import find
import ConfigParser
import time
# global information
Release = 0
Major = 0
Minor = 7
Alias = ""
FileName = ""
BuildPath = "D:/ReleaseBuilds"
Log = None
ErrLog = None
Config = None
def CallProcess(args,Msg,ret=True):
Anim = ['-','\\','|','/']
sys.stdout.write(Msg+': ')
Log.write("====== Call: " + args[0] + '\n')
SVN = Popen(args,
stdout=PIPE, stderr = ErrLog)
i = 0
while(SVN.poll() == None):
line = SVN.stdout.readline()
if(line):
Log.write(line.replace('\n',''))
sys.stdout.write(chr(8) + Anim[i%4])
i+=1
sleep(0.2)
#ErrLog.write(SVN.stdout.read())
sys.stdout.write(chr(8) + "done\n")
if(not SVN.returncode == 0 and ret):
print "Process returns: ",SVN.returncode
raise
# Step 2 & 3
def CheckOut():
CallProcess([Config.get('Tools','svn'),
"checkout",
"-r",
`Release`,
"https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk",
"../"+FileName],
"2) Checking out")
sys.stdout.write('3) Write version files: ')
Version = open("src/Build/Version.h","w")
Version.write('#define FCVersionMajor "' + `Major` + '"\n')
Version.write('#define FCVersionMinor "' + `Minor` + '"\n')
Version.write('#define FCVersionName "' + Alias + '"\n')
Version.write('#define FCRevision "' + `Release` + '"\n')
Version.write('#define FCRepositoryURL "' + "https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk/src" + '"\n')
Version.write('#define FCCurrentDateT "'+time.asctime()+'" \n')
Version.close()
Version = open("installer/Version.wxi","w")
Version.write('<Include> \n')
Version.write(' <?define FCVersionMajor = ' + `Major` + ' ?>\n')
Version.write(' <?define FCVersionMinor = ' + `Minor` + ' ?>\n')
Version.write(' <?define FCVersionRevision =' + `Release` + ' ?>\n')
Version.write(' <?define FCVersionAlias = "' + Alias + '" ?>\n')
Version.write('</Include> \n')
Version.close()
sys.stdout.write('done\n')
#Step 4
def PackSourceZip():
def addAll(dirFrom, ZipSrcFile):
for file in os.listdir(dirFrom): # for files/dirs here
if(not file==".svn" and not file== FileName+'_source.zip'):
pathFrom = os.path.join(dirFrom, file)
if not os.path.isdir(pathFrom): # copy simple files
ZipSrcFile.write(pathFrom,pathFrom.replace('.\\',FileName+'\\'))
Log.write("Insert: "+ pathFrom + '\n')
else:
addAll(pathFrom,ZipSrcFile)
sys.stdout.write("4) Pack zip source files: ")
SourceFile = ZipFile(FileName+'_source.zip','w',ZIP_DEFLATED,True)
addAll('.',SourceFile)
SourceFile.close()
sys.stdout.write("done \n")
# Step 5
def PackSourceTar():
def addAll(dirFrom, ZipTarFile):
for file in os.listdir(dirFrom): # for files/dirs here
if(not file==".svn" and not file== FileName+'_source.zip'):
pathFrom = os.path.join(dirFrom, file)
if not os.path.isdir(pathFrom): # copy simple files
ZipTarFile.add(pathFrom,pathFrom.replace('.\\',FileName+'\\'))
Log.write("Insert: "+ pathFrom + '\n')
else:
addAll(pathFrom,ZipTarFile)
sys.stdout.write("5) Pack tar source files: ")
SourceFile = tarfile.open(FileName+'_source.tgz','w:gz')
addAll('.',SourceFile)
SourceFile.close()
sys.stdout.write("done \n")
# Step 6 & 7
def BuildAll():
import fcbt.FileTools
LibPack = Config.get('Libs','FreeCADLib')
sys.stdout.write('6) Copy resources: ')
os.mkdir('./bin')
fcbt.FileTools.cpall(LibPack + '/bin','./bin')
os.mkdir('./include')
fcbt.FileTools.cpall(LibPack + '/include','./include')
os.mkdir('./lib')
fcbt.FileTools.cpall(LibPack + '/lib','./lib')
os.mkdir('./doc')
fcbt.FileTools.cpall(LibPack + '/doc','./doc')
sys.stdout.write('done\n')
CallProcess(["BuildAll.bat"],
"7) Build all")
# Step 8 & 9
def HelpFile():
import wiki2chm
if not os.path.isdir('doc'):
os.mkdir('doc')
if not os.path.isdir('doc/tmp'):
os.mkdir('doc/tmp')
CallProcess([Config.get('Tools','wget'),'-k', '-r', '-l5', '-P', 'doc/tmp', '-nd',
'-R', '*action=*',
'-R', '*title=Special*',
'-R', '*title=Talk*',
'-R', '*oldid=*',
'-R', '*printable=yes*',
'--domains=apps.sourceforge.net',
'--append-output=doc/tmp/wget.log',
'http://apps.sourceforge.net/mediawiki/free-cad/index.php?title=Online_Help_Toc'],
"8) Download docu")
sys.stdout.write("9) Fix up CSS: ")
open('doc/tmp/chm.css','w').write(open('src/Tools/chm.css').read())
wiki2chm.WikiBaseUrl ='http://apps.sourceforge.net/mediawiki/free-cad/'
wiki2chm.TocPageName ='Online_Help_Toc'
wiki2chm.BasePath ='doc/tmp/'
wiki2chm.Output = Log
wiki2chm.replaceCSS()
wiki2chm.WriteProject()
wiki2chm.readToc()
sys.stdout.write("done \n")
# Step 10
def CompileHelp():
import fcbt.FileTools
CallProcess([Config.get('Tools','hhc'),'doc/tmp/Online_Help_Toc.hhp'],'10)Compile help:',False)
fcbt.FileTools.cpfile('doc/tmp/FreeCAD.chm','doc/FreeCAD.chm')
fcbt.FileTools.cpfile('doc/tmp/FreeCAD.chm',FileName+'_helpfile.chm')
def BuildInstaller():
import fcbt.FileTools
LibPack = Config.get('Libs','FreeCADLib')
fcbt.FileTools.cpfile('lib/Microsoft_VC80_CRT_x86.msm','installer/Microsoft_VC80_CRT_x86.msm')
fcbt.FileTools.cpfile('lib/policy_8_0_Microsoft_VC80_CRT_x86.msm','installer/policy_8_0_Microsoft_VC80_CRT_x86.msm')
CallProcess([Config.get('Tools','candle'),
'-out', 'installer\\',
'installer\\FreeCAD.wxs',
'installer\\FreeCADBase.wxs',
'installer\\LibPack.wxs',
'installer\\FreeCADDoc.wxs',
'installer\\FreeCADModules.wxs',
],'11)Compile installer:',False)
CallProcess([Config.get('Tools','light'),
'-ext', 'WixUIExtension',
'-cultures:en-us',
'-out', 'installer\\FreeCAD.msi',
'installer\\FreeCAD.wixobj',
'installer\\FreeCADBase.wixobj',
'installer\\LibPack.wixobj',
'installer\\FreeCADDoc.wixobj',
'installer\\FreeCADModules.wixobj',
],'12)Build installer:',False)
fcbt.FileTools.cpfile('installer/FreeCAD.msi',FileName+'_installer.msi')
def SendFTP():
from ftplib import FTP
ftp = FTP('upload.sf.net')
Log.write(ftp.login() + '\n')
Log.write(ftp.cwd("/incoming") + '\n')
Log.write(ftp.sendcmd('PASV') + '\n')
Log.write(ftp.sendcmd('TYPE I') + '\n')
sys.stdout.write('13) Send source ZIP: ')
f = open(FileName+'_source.zip', "r")
Log.write(ftp.storbinary('STOR '+ FileName+'_source.zip', f) + '\n')
sys.stdout.write('done\n14) Send source tgz: ')
f = open(FileName+'_source.tgz', "r")
Log.write(ftp.storbinary('STOR '+ FileName+'_source.tgz', f) + '\n')
sys.stdout.write('done\n15) Send installer: ')
f = open(FileName+'_installer.msi', "r")
Log.write(ftp.storbinary('STOR '+ FileName+'_installer.msi', f) + '\n')
f.close()
ftp.close()
def main():
global Release, Major, Minor, Alias, FileName, BuildPath, Log, ErrLog, Config
IniFile = "BuildRelease.ini"
try:
opts, args = getopt.getopt(sys.argv[1:], "hb:", ["help","buildPath="])
except getopt.GetoptError:
# print help information and exit:
sys.stderr.write(Usage)
sys.exit(2)
# checking on the options
for o, a in opts:
if o in ("-h", "--help"):
sys.stderr.write(Usage)
sys.exit()
if o in ("-b", "--buildPath"):
BuildPath = a
if o in ("-i", "--ini-file"):
IniFile = a
# runing through the files
if (not len(args) == 1):
sys.stderr.write(Usage)
Release = int(args[0])
Config = ConfigParser.ConfigParser()
Config.readfp(open(IniFile))
Alias = Config.get('Version','Alias')
Major = Config.getint('Version','Major')
Minor = Config.getint('Version','Minor')
# creating the directory and switch to
FileName = 'FreeCAD_' + `Major` + '.' + `Minor` + '.' + `Release`
print "=== Building:", FileName, '\n'
BuildPath = BuildPath + '/' + FileName
# set tool path
sys.path.append((BuildPath + '/src/Tools') )
OldCwd = os.getcwd()
print "1) Creating Build directory: ", BuildPath
if not os.path.isdir(BuildPath):
os.mkdir(BuildPath)
os.chdir(BuildPath)
Log = open("BuildRelease.log","w")
ErrLog = open("BuildReleaseErrors.log","w")
try:
CheckOut()
PackSourceZip()
PackSourceTar()
BuildAll()
HelpFile()
CompileHelp()
BuildInstaller()
#SendFTP()
except:
Log.close()
ErrLog.close()
Err = open("BuildReleaseErrors.log","r")
sys.stderr.write("!!!!!!!!! Fehler aufgetreten:\n")
sys.stderr.write(Err.read())
raise
os.chdir(OldCwd)
Log.close()
ErrLog.close()
print "Press any key"
sys.stdin.readline()
if __name__ == "__main__":
main()
+470 -865
View File
File diff suppressed because it is too large Load Diff
+27 -26
View File
@@ -1,9 +1,10 @@
Note: Future changelog now located at: http://www.freecadweb.org/tracker/changelog_page.php
Changelog you find now here:
http://www.freecadweb.org/tracker/changelog_page.php
Version: 0.14
* Python path messed up after installation
* Installing 0.14 breaks previous python installation
* Python function to retrieve direct children of a shape using TopoDS_Iterator
* Python function to retrive direct children of a shape using TopoDS_Iterator
* Update translations for 0.14
* FreeCAD crashes when changing placement of sketch.
* Sketcher 180-deg-constraints should not be allowed for lines without intersection point.
@@ -48,7 +49,7 @@ Version: 0.14
* Hide all objects in a group
* Part::TopoShape::getMemSize fails for Bezier Curves
* icons not showing in Part Loft and sweep dialogues
* Drawing SVG output makes ever knot symmetrical.
* Drawing SVG output makes ever knot symetrical.
* Part Common fails with two surface objects
* Teigha File Converter not found, DWG support will be disabled.
* recognize remote branches for Version.h in detached head state
@@ -61,10 +62,10 @@ Version: 0.14
* Draft Dimensions due not observe Dimension Precision on FreeCAD Windows
* invalid DXF export
* Port wiki, phpbb and mantis to self-hosted
* Crash probably in MeshPart
* Crash propably in MeshPart
* Part.BSplineCurve: allow to set degree and mutliplicites when calling constructor.
* FeaturePython objects should be able to define how POVray output is generated
* Losing Snap when Object is getting more complex.
* Loosing Snap when Object is getting more complex.
* PropertyLinkSubList causes crash
* BRepPrimAPI_MakeRevolution vs BRepPrimAPI_MakeRevol
* plane offset precision is limited to 0.1
@@ -310,7 +311,7 @@ Version: V0.5B8 Date: Tue Aug 01 2006 +++++++++++++++++++++++++++++++
* Allow to open a project file even if not everything can be loaded e.g. if a module is missing
* Select name if a file instead of directory was given in FileDialog's getOpenFileName() or getSaveFileName() methods
* Bug fixed in harmonizing normals of a mesh
* speed up a lot several algorithms that searches for independent components of a mesh or searches for inhomogenous normals
* speed up a lot several algorithms that searches for independant components of a mesh or searches for inhomogenous normals
* make MeshKernel::VisitNeighbourFacets() more robust against topologic errors in mesh
* Option added to do one- or two-side rendering of meshes
* Dialog to enter numbers higher than the maximum of int's, i.e numbers up to 4294967295
@@ -332,7 +333,7 @@ Version: V0.5B7 Date: Thu May 18 2006 +++++++++++++++++++++++++++++++
* added new ViewProvider for meshes with more than 100.000 triangles using SoFCMeshNode for optimizations
* save/restore of view providers into/from a separate XML file in a project file
* check if project file exists when loading from command line
* using grid to speed up cutting algorithm for huge meshes
* using grid to speed up cutting algoritm for huge meshes
* calculate inverse color of mesh color for open edges
* added project properties to App::Document
* added material property class
@@ -429,7 +430,7 @@ Version: V0.5B5 Date: Sat Feb 25 2006 +++++++++++++++++++++++++++++++
* Return the edge list by reference in mesh kernel (to avoid memory leak)
* PropertyVectorList implemented
* Use PropertyVectorLists and PropertyFloatLists in Mesh::Curvature feature and its associated view provider
* PropertyColor(List) implemented
* PropertyColor(List) implemeted
* PropertyMeshKernel added
* move all Projects to NODEFAULTLIBS
* move all Projects to xcopy
@@ -556,9 +557,9 @@ Version: V0.1B117 Date: Sun Mar 20 14:06:55 2005 +++++++++++++++++++++++++++++++
* Viewprovider for meshes added
* Integration of latest Image module source
* RFE 1159671 implemented (elements in alphabetic order)
* Finishing drag&drop multiple files
* Finishing open from command line and dropping on Program icon
* solving load dependent modules
* Finishing drag&drop multible files
* Finishing open from command line and droping on Programm icon
* solving load dependand modules
* more convenient Python console
* Bug 1149706 fixed (Cannot load CAD curves)
* RFE 1214187 implemented (Remove views from main window)
@@ -607,7 +608,7 @@ Version: V0.1B109 Date: Mon Jan 24 11:13:15 2005 +++++++++++++++++++++++++++++++
- SetStatus and GetStatus switch on or off the observer
Version: V0.1B108 Date: Sat Jan 15 14:24:52 2005 +++++++++++++++++++++++++++++++
* Moved HtmlView to HelpView * Reimplementation
* Moved HtmlView to HelpView * Reimplementaion
* Added class FileChooser ( line edit with button on its right side to browse)
* Merged pref. page "Help viewer" and "Online Help" to one page
* TextEdit class with completion
@@ -659,7 +660,7 @@ Version: V0.1B101 Date: Thu Dec 02 22:32:22 2004 +++++++++++++++++++++++++++++++
Version: V0.1B100 Date: Mon Nov 29 19:40:56 2004 +++++++++++++++++++++++++++++++
* set up new exception handling for python call back
* implement std property access in App::Feature
* implement std property acces in App::Feature
Version: V0.1B99 Date: Fri Nov 26 22:40:56 2004 +++++++++++++++++++++++++++++++
* replace QextMDI by own impl. using QWorkspace and QDockWindow
@@ -678,7 +679,7 @@ Version: V0.1B95 Date: Wed Nov 03 17:34:53 2004 +++++++++++++++++++++++++++++++
Version: V0.1B94 Date: Sat Oct 23 18:58:52 2004 +++++++++++++++++++++++++++++++
* finished implementation of the Tip of the day
* split several big files in smaller ones
* splitted several big files in smaller ones
* namespace Gui::Kexi for property editor
* namespace Gui::Dialog * documentation for most dialogs
* use QToolBox provided by Qt instead of StackBar
@@ -700,7 +701,7 @@ Version: V0.1B91 Date: Tue Sep 21 15:34:55 2004 +++++++++++++++++++++++++++++++
Version: V0.1B90 Date: Tue Sep 07 19:25:03 2004 +++++++++++++++++++++++++++++++
* Clean up path finding
* port to OCC 5.2
- switch to new iostream (finally!!!)
- switch to new iostream (finaly!!!)
Version: V0.1B89 Date: Fri Aug 20 19:03:18 2004 +++++++++++++++++++++++++++++++
* pimple App/Application and App/Document
@@ -750,10 +751,10 @@ Version: V0.1B78 Date: Sun Nov 23 13:15:15 2003 +++++++++++++++++++++++++++++++
Version: V0.1B77 Date: Fri Nov 14 14:56:14 2003 +++++++++++++++++++++++++++++++
* Finished Setup stuff
* Removed all relative paths
* Removed all relativ paths
* config HomePath is now not in bin anymore
* all config files one dir up
* FC runs now from every directory
* FC runs now from every derectory
* remove Startup and Install script
Version: V0.1B76 Date: Sat Nov 08 14:47:32 2003 +++++++++++++++++++++++++++++++
@@ -833,18 +834,18 @@ Version: V0.1B63 Date: Sun Jun 08 20:21:25 2003 +++++++++++++++++++++++++++++++
* drop down button completely new reimplemented
Version: V0.1B62 Date: Sat May 31 11:53:56 2003 +++++++++++++++++++++++++++++++
* redesign of Document view model
* redesign of Document view modell
* removing ViewContainer
* adding the OnHasMsg methodes
* switching some stdCommands to message stile to allow views with own document
* moving scintila to a passive view model
* moving scintila to a passiv view modell
* updated to new version of Scintilla (1.53)
Version: V0.1B61 Date: Sat May 24 17:35:52 2003 +++++++++++++++++++++++++++++++
* binding for scintilla
* switching the observer to templates
* adding SoQt to the source
* the template observer the M$ STL don't work any more
* the template observer the M$ STL dont work any more
Version: V0.1B60 Date: Wed May 21 21:18:53 2003 +++++++++++++++++++++++++++++++
* finishing close, save and update stuff
@@ -891,7 +892,7 @@ Version: V0.1B52 Date: Thu Apr 10 21:17:20 2003 +++++++++++++++++++++++++++++++
* insert the TreeDockBar
Version: V0.1B51 Date: Sun Apr 06 21:27:35 2003 +++++++++++++++++++++++++++++++
* Really big patch from Werner
* Realy big patch from Werner
- Fix a problem with the paning in MouseModel
- Fixing workbench binding for std. menus
- switch to QT_VER for easier changing QT Version
@@ -905,13 +906,13 @@ Version: V0.1B50 Date: Fri Apr 04 22:10:24 2003 +++++++++++++++++++++++++++++++
* some work on the Linux port
Version: V0.1B49 Date: Thu Apr 03 22:45:35 2003 +++++++++++++++++++++++++++++++
* Master redesign of the window system, not yet full working
* Master redisign of the window system, not yet full working
Version: V0.1B48 Date: Sun Mar 30 15:06:23 2003 +++++++++++++++++++++++++++++++
* Big patch from Werner about:
- feeding toolbars and Commandbar and menus from the parameterts
- customizing works with positions in command bar and toolbar
- customizing by dragging from menu into toolbar and commandbar
- customizing by draging from menu into toolbar and commandbar
Version: V0.1B47 Date: Fri Mar 28 18:24:36 2003 +++++++++++++++++++++++++++++++
* Import App Module added
@@ -951,10 +952,10 @@ Version: V0.1B39 Date: Mon Mar 03 12:32:14 2003 +++++++++++++++++++++++++++++++
Version: V0.1B38 Date: Thu Feb 27 22:19:35 2003 +++++++++++++++++++++++++++++++
* fix of memory leack in CmdBar (werner)
* start rebuilding FCCommand framework
* start rebulding FCCommand framework
Version: V0.1B37 Date: Tue Feb 25 20:29:19 2003 +++++++++++++++++++++++++++++++
* massively improved customize dialog (werner)
* massiv improved costomize dialog (werner)
- sorting position of toolbars
Version: V0.1B36 Date: Sat Feb 22 18:12:19 2003 +++++++++++++++++++++++++++++++
@@ -1012,7 +1013,7 @@ Version: V0.1B26 Date: Tue Jan 21 05:59:01 2003 +++++++++++++++++++++++++++++++
Version: V0.1B25 Date: Sun Jan 19 18:20:51 2003 +++++++++++++++++++++++++++++++
* Big Linux port patch from Vaclav
- some fixes on implicit type conversion (Vaclav)
- some fixes on implicite type conversion (Vaclav)
- moving all .cxx to .cpp mainly in gui
- moving DlgCusomizeImpl to Imp
- and InitGui to GuiInit
-481
View File
@@ -1,481 +0,0 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
51 Franklin Street - Fifth Floor
Boston, MA 02110-1301, USA.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
-13
View File
@@ -1,13 +0,0 @@
#ifndef LIBRARY_VERSIONS_H
#define LIBRARY_VERSIONS_H
/* LibraryVersions.h. Generated from LibraryVersions.h.cmake by cmake. */
#cmakedefine HAVE_OCC_VERSION
#if defined(HAVE_OCC_VERSION)
# include <${OCC_INCLUDE_DIR}/Standard_Version.hxx>
#endif
#endif // LIBRARY_VERSIONS_H
+39
View File
@@ -0,0 +1,39 @@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS=data src
EXTRA_DIST = \
cMake/ConfigureChecks.cmake \
cMake/FindCoin3D.cmake \
cMake/FindCoin3DDoc.cmake \
cMake/FindEigen2.cmake \
cMake/FindEigen3.cmake \
cMake/FindF2C.cmake \
cMake/FindODE.cmake \
cMake/FindOpenCasCade.cmake \
cMake/FindOpenCV.cmake \
cMake/FindSoQt.cmake \
cMake/FindSpnav.cmake \
cMake/FindXercesC.cmake \
cMake/FreeCadMacros.cmake \
cMake/UseLibPack6x.cmake \
cMake/UseLibPack7x.cmake \
cMake/UseLibPackCustom.cmake \
config.h.cmake \
CMakeLists.txt \
autogen.sh \
BuildAll.bat \
build.sh \
ChangeLog.txt \
copying.lib \
README.Linux \
README.Win32
debian-package:
$(top_srcdir)/package/makedebian.sh
if HAVE_DOXYGEN
devdoc:
doxygen $(top_builddir)/src/Doc/BuildDevDoc.cfg
endif
+71
View File
@@ -0,0 +1,71 @@
FreeCAD
=======
FreeCAD is a general purpose feature-based, parametric 3D modeler for CAD, MCAD,
CAx, CAE and PLM, aimed directly at mechanical engineering and product design but
also fits a wider range of uses in engineering, such as architecture or other engineering
specialties. It is 100% Open Source (LGPL2+ license) and extremely modular, allowing
for very advanced extension and customization.
FreeCAD is based on OpenCasCade, a powerful geometry kernel, features an Open Inventor-compliant
3D scene representation model provided by the Coin 3D library, and a broad Python API.
The interface is built with Qt. FreeCAD runs exactly the same way on Windows, Mac OSX, BSD and
Linux platforms.
Home page: http://www.freecadweb.org
Documentation wiki: http://www.freecadweb.org/wiki/
Forum: http://forum.freecadweb.org/
Bug tracker: http://www.freecadweb.org/tracker/
Git repository: http://sourceforge.net/p/free-cad/code/ci/master/tree/
Installing
==========
Precompiled (installable) packages are usually available to you from several sources and are
described on the FreeCAD download page: http://www.freecadweb.org/wiki/index.php?title=Download
Compiling
=========
Compiling FreeCAD requires to install several heavyweight libraries and their development
files such as OpenCasCADe, Coin and Qt, listed in the pages below. Once this is done,
FreeCAD can be simply compiled with cMake. On windows, these libraries are bundled and
offeredby the FreeCAD team in a convenience package, on Linux they are usually found
in your distribution's repositories and on Mac OSX and other platforms you will usually
need to compile them yourself.
Note that autotools build system can still be used but will be obsoleted soon.
The pages below contain up-to-date build instructions:
For Linux: http://www.freecadweb.org/wiki/index.php?title=CompileOnUnix
For windows: http://www.freecadweb.org/wiki/index.php?title=CompileOnWindows
For Mac OSX: http://www.freecadweb.org/wiki/index.php?title=CompileOnMac
In this folder you will also find additional README files, specific for each platform.
Usage
=====
The FreeCAD documentation wiki contains sections for each category of users, and a manual,
which is a compilation of the most useful articles of the wiki:
For users: General FreeCAD usage: http://www.freecadweb.org/wiki/index.php?title=User_hub
For power-users: Python scripting: http://www.freecadweb.org/wiki/index.php?title=Power_users_hub
For developers: C++ FreeCAD development: http://www.freecadweb.org/wiki/index.php?title=Developer_hub
The FreeCAD manual: http://www.freecadweb.org/wiki/index.php?title=Online_Help_Toc
+93
View File
@@ -0,0 +1,93 @@
How to build and run FreeCAD under Cygwin
=========================================
Prerequisites
-------------
To compile FreeCAD, you will need, besides functioning Cygwin environment
and programming tools (like compiler), the following libraries:
o Python (http://www.python.org), >= 2.5.x
o Qt (http://www.trolltech.no), >= 4.1.x
o Coin3D (http://www.coin3d.org), >= 2.4.x
o SoQt (http://www.coin3d.org), >= 1.2.x
o Xerces-c (http://xml.apache.org/dist/xerces-c/)
o zlib (http://www.zlib.net/)
As far as I know, except of Coin3D and SoQt all libraries are available as prebuilt
binary packages from one of the Cygwin mirrors. To install them, first download the
latest version of setup.exe from www.cygwin.com and run it with administrator rights.
Then follow the instructions of the wizard until the list of all available packages
appears. Select the devel files of all the required libraries and install them.
Then download the source tarballs of Coin3D and SoQt and unpack them into a directory
of your choice.
The Coin library can be built with ./configure --disable-msvc;make; make install.
Building SoQt is a bit tricky and I haven't managed yet to build it in a proper way.
There are various problems with X11 functions and Windows API functions which I
don't know how to solve.
And for the Mesh module of FreeCAD the additional libraries
o GTS Library (http://gts.sourceforge.net)
o Wild Magic (http://www.geometrictools.com)
o OpenCASCADE (http://www.opencascade.org), you need >=5.2 here
are required. OpenCASCADE is also needed by the Part and Raytracing modules.
Note: As OpenCASCADE that is also required by the Mesh, Part and Raytracing
modules is not available for Cygwin it is not possible to build them
for this platform. It is planned for the future to move all OpenCASCADE
dependencies of the Mesh module into a separate module so that at least
this module can be built under Cygwin.
Note: All libraries listed above must be built as shared library. Refer to their
documentation to see how to do.
Note: If possible you should enable thread support for the libraries. At least for
Qt thread support is strongly recommended, otherwise you will run into linker
errors at build time of FreeCAD.
Note: zlib might be already on your system, as this is a library that is used
from a lot of other libraries.
Note: There seems to be various problems with Qt's uic tool of the Cygwin port.
Due to these problems it is not possible to run the GUI under Cygwin at the
moment. It is only possible to run the commandline version.
Configuration
-------------
For the build process of FreeCAD we make use of configure scripts.
To have an overview of all options type in ./configure --help, first.
If you have installed all libraries above into standard paths you need not any of the
'--with' options at all. Unless you have installed any library into a non-standard path,
then make use of the --with-XXX-includes or --with-XXX-libs options.
(XXX represents the corresponding library.)
Note: Due to some limitations of the Windows platform it is not possible to build
libraries with unresolved symbols at link time. Thus it is strongly recommended to run
./configure with the option LDFLAGS=-no-undefined, otherwise the creation of shared
libraries fails. For more details see section 11.2.1 Creating Libtool Libraries with
Automake of the libtool documentation.
Note: To specify FreeCAD's root directory it is recommended to use only the '--prefix'
option from the configure script but not the --bindir, --libdir, ... options, because
at startup FreeCAD makes assumptions where its lib-, doc-, .. directories reside.
The default root directory is located in ~/FreeCAD.
If you know how to work with GNU autoconf, feel free to contribute improvements
to our configuration scripts --- that would be great.
Installation
------------
Once you have built the sources successfully using 'make' with 'make install' you can
install FreeCAD onto your machine whereever you want. Go to the directory FreeCAD/bin
and just type in ./FreeCADCmd.
FreeCAD's default root directory resides under ~/FreeCAD, so you don't need root privileges
therefore.
+99
View File
@@ -0,0 +1,99 @@
How to build and run FreeCAD under Linux
========================================
Prerequisites
-------------
To compile FreeCAD you will need, besides functioning Linux
and programming tools (like compiler), the following libraries:
o Python (http://www.python.org), >= 2.5.x
o boost (http://www.boost.org), >= 1.33.1
o Qt (http://qt-project.org/), >= 4.1.x
o PySide (http://qt-project.org/wiki/category:LanguageBindings::PySide::Downloads)
o Coin3D (http://www.coin3d.org), >= 2.4.x
o SoQt (http://www.coin3d.org), >= 1.2.x
o Xerces-C++ (http://xml.apache.org/dist/xerces-c/), >= 2.6
o zlib (http://www.zlib.net/)
And for the some FreeCAD modules the additional libraries
o OpenCascade (http://www.opencascade.org), >= 5.2
o Eigen3 (http://eigen.tuxfamily.org/index.php?title=Main_Page), >= 3.0.1
o FreeType
are required.
Note: zlib might be already on your system, as this is a library that is used
by a lot of libraries, too.
Note: All libraries listed above must be built as shared library. Refer to their
documentation to see how to do.
Note: If possible you should enable thread support for the libraries. At least for
Qt thread support is strongly recommended, otherwise you will run into linker
errors at build time of FreeCAD.
Note: The package for SoQt for Debian based systems may lack of the soqt.m4 macro file.
You should download the file from www.coin3d.org and copy it to /usr/share/aclocal.
Note: The package for SoQt (at least for older Debian based systems) is usually built to link
against Qt3. This, however, causes a segmentation fault when using with FreeCAD because
it links against Qt4 and you get a mixup of Qt3 and Qt4 libraries.
To fix this problem you must download the sources from www.coin3d.org and run
configure with the 'with-qt=DIR' switch specifying the location of Qt4.
Probably, it's best to 'make install' the newly built SoQt into a different directory
than the installed SoQt to avoid to corrupt your package database and/or to keep other
applications working. When configuring FreeCAD you have to use the '--with-soqt=DIR'
switch specifying the path of the newly installed SoQt.
For newer Debian releases this already solved by a new package that links against Qt4.
During the compilation some Python scripts get executed. So the Python interpreter has
to work properly.
Optionally, you can build the Qt plugin that provides all custom widgets of FreeCAD
we need for the Qt Designer. The sources are located under Tools/plugins/widget.
So far, we don't provide a makefile but calling 'qmake plugin.pro' creates it and
calling 'make' will create the library libFreeCAD_widgets.so. To make known this library
to your Qt Designer you have to copy the file to $QTDIR/plugin/designer.
On our Wiki you'll find more information to build with different Linux distributions at
http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=CompileOnUnix
Configuration
-------------
For the build process of FreeCAD we make use of configure scripts.
To have an overview of all switches type in ./configure --help, first.
You don't need any of these switches unless you have installed a library into a non-standard
path. In this case make use of the appropriate --with-XXX-include or --with-XXX-lib switches,
please. (XXX stands for the corresponding library.)
Of course, for above mentioned problem with SoQt you should use the '--with-soqt=DIR' switch.
Note: To specify FreeCAD's root directory it is recommended to use only the '--prefix'
switch from the configure script but not the --bindir, --libdir, ... switches, because at startup
FreeCAD makes assumptions about where its module directories are installed.
Installation & Running FreeCAD
------------------------------
Once you have built the sources successfully using 'make', with 'make install' you can
install FreeCAD onto your machine whereever you want. FreeCAD's default root directory
is $HOME/FreeCAD, so you don't need root privileges therefore. To run FreeCAD go to
$PREFIX/FreeCAD/bin and type in ./FreeCAD.
Note: In the past there were a lot of problems that the Part workbench couldn't be loaded.
The problem is that the system wasn't able to find the OpenCascade library files.
To fix this problem you are strongly recommended to add the path of these libraries
to LD_LIBRARY_PATH or even to add it to ld.so.conf and run ldconfig.
So, just have fun!
Werner Mayer <wmayer@users.sourceforge.net>
June 2014
+324
View File
@@ -0,0 +1,324 @@
How to build and run FreeCAD under MSYS/MinGW
=============================================
Prerequisites
-------------
Here comes a short introduction how to setup a MSYS/MinGW environment
on a Windows system, to build all needed libraries and finally to build
the FreeCAD sources.
o MSYS/MinGW
If not already installed get a MinGW installer from the Sourceforge page at
http://sourceforge.net/projects/mingw. When writing this tutorial the latest
version was mingw-get-inst-20100831.exe. Download and just double-click the
excutable. This installs the compiler and a minimal Windows developer environment.
Make sure to also install the Fortran compiler because there is a single Fortran
file in the 3rd party folder of the FreeCAD sources.
Then as second step MSYS needs to be installed to have an environment to run
./configure scripts which we make heavy use of in order to build all needed
libraries. From the Soureforge page the file MSYS-1.0.11.exe was taken.
A virginal MSYS/MinGW installation lacks of a few modules we later need.
First, we need the utility pexport which can be found in the file
pexports-0.44-1-mingw32-bin.tar.lzma. I don't know where to put this file
and how to make MSYS to install the stuff inside. But the file can be opened
with a ZIP program and the content can be copied to their destination manually.
Here, the pexports utility can go to the bin directory of your MinGW installation.
Then, we also need the development files for the pthreads module which is part
of the file pthreads-w32-2.8.0-3-mingw32-dev.tar.lzma. Just download and copy
the files inside to your MinGW installation.
o CMake
Download the CMake utility from http://www.cmake.org/cmake/resources/software.html.
Get the archive with the binaries for the Windows platform and unpack whereever you
want. There is nothing further to do for this.
o SWIG
Download the SWIG utility from www.swig.org and extract it somewhere on your harddisk.
Third party libraries
---------------------
Here is a description which libraries we need for FreeCAD and how to build them from
the sources. In order not to pollute our MinGW installation with too many files from
the 3rd party libraries we have to build you can e.g. create a sub-directory "local"
in your MSYS installation. If you have installed MSYS under C:\MSYS then simply create
the directory C:\MSYS\1.0\local.
o zlib
For zlib there is already a ready package for MinGW. So, therefore simply download
the file libz-1.2.3-1-mingw32-dev.tar.gz from the Sourceforge site and extract the
two directories lib and include to C:\MSYS\1.0\local.
o Python
It seems to be nearly impossible to build the Python sources directly with the MinGW
compiler. This is because some Python modules require some features which are not
implemented on the MinGW platform. Fortunately, the Python sources are plain C code
and instead of trying to build it with MinGW you can get a ready binary package built
with the MSVC compiler. You can install the Python stuff whereever you want. Afterwards
copy the include folder to C:\MSYS\1.0\local, the DLL can go to C:\MSYS\1.0\local\bin.
Now we also need the so called import library. There we cannot use the .lib file which
comes together with the installer. But it's easy to create one with the pexports/dlltool
utilities. Assuming the Python version is 2.6 do these two steps:
pexports python26.dll > python26.def
dlltool -D python26.dll -d python26.def -l libpython26.dll.a
The file libpython26.dll.a can now be moved to C:\MSYS\1.0\local\lib.
o f2c
For this library we don't need any header files but only the import library to build the
Salome SMESH sources. The easiest way to build this file is:
pexports libgfortran-3.dll > f2c.def
dlltool -D libgfortran-3.dll -d f2c.def -l libf2c.dll.a
The file libf2c.dll.a can now be moved to C:\MSYS\1.0\local\lib.
o xerces-c
Download a source archive from http://xml.apache.org/dist/xerces-c/ and extract it.
Open a MSYS command line window and change to the xerces-c sources. From there run
./configure LDFLAGS=-no-undefined
Once ./configure has finished it's best to move to the source directory because we
don't need to build the dozens of test applications and other stuff. So, do this:
cd src
make
make install
This takes a few minutes to be done.
o boost
For boost there exists a testing package with cmake support. This, however, seems to be
stable enough to build with the MinGW compiler. So, get the file boost-1.41.0.cmake0.zip
from http://sodium.resophonic.com/boost-cmake/1.41.0.cmake0/ and unpack it.
Now, start the cmake-gui.exe from within the MSYS command line. This is necessary for cmake
in order to find the compiler and other stuff. Select the folder of the boost sources with
the CMakeLists.txt file, select a build directory and start Configure. You'll be asked for
which system you want to generate the Makefiles. Select MSYS/Makefiles, not MinGW/Makefiles.
When the configuration step has finished go to the options and search for WINMANGLE_LIBNAMES.
Switch this off because otherwise the boost library names contain the compiler name. This
causes the boost cmake check to fail later when we try to build the FreeCAD sources. And for
the installtion folder choose the directory C:\MSYS\1.0\local.
So, reconfigure boost and press on Generate once it has finished. Close the CMake GUI window
and enter
make
make install
into the command line. This will take a couple of minutes.
o eigen2
Download eigen-2.0.15.tar.gz or any later version from http://eigen.tuxfamily.org/index.php?title=Main_Page.
Unpack the files and start again cmake-gui. Set the installation directory to C:\MSYS\1.0\local
and press on Configure and Generate. Close the window and start the installation with
make
make install
o Qt4
From the Qt website at ftp://ftp.trollech.com you can download already prebuilt packages for the
MinGW platform. But depending on the version you have installed it can happen that they don't fit
together. In this case the source tarball must be downloaded. Use version 4.5.3 or higher. Unpack
the sources and start the configure.exe you'll find inside the sources.
./configure
By default the build the debug and release version. If you only want the release version use the
option "-release".
Configure will ask you some questions under which license you want to use Qt. Choose LGPL here.
Now run the build with
make
This can take quite some time because Qt has become a really huge library over the years. Once the
build has finished run a
make install
to copy the header files to their right place. All the binaries and header files are still inside
the source folder. If you like you can copy all the .dll, .a, and the direcories under "include" to
the subdirectories of C:\MSYS\1.0\local.
o Coin
Get a source archive from www.coin3d.org. Unpack the sources and run
./confiure
make
make install
It may happen that a message dialog pops up due to a missing cygwin1.dll. You simply ignore this.
o SoQt
Get a source archive from www.coin3d.org. Unpack the sources and run
./configure CXXFLAGS="-DCOIN_DLL" --with-qt=/usr/local
make
make install
In case your Qt development files are not under /usr/local choose the correct directory there.
Again a message dialog may pop up due to the missing cygwin1.dll.
o PyQt/sip
Warning: the following is obsoleted from version 0.14, since FreeCAD is now using
pySide instead of PyQt. At the moment, PySide suport for MingW seems still not complete:
https://bugreports.qt-project.org/browse/PYSIDE-113?page=com.atlassian.jira.plugin.system.issuetabpanels%3aall-tabpanel
Download the sources archives for sip and PyQt4 from www.riverbankcomputing.co.uk.
In order to build sip extract the archive and open a MSYS command line. From within
its source archive call
python configure.py --platform win32-g++ --destdir=/usr/local
make
It may happen that this step aborts because the Python include headers cannot be found.
In this case edit the Makefile and add the include path for the ython headers and also
the path and filename of the Python library.
Unfortunately, the 'make install' command doesn't work because the Makefile was generated
to use Windows batch commands instead of bash commands. Thus, copy the following files to
a path where Python can find it, e.g. /usr/local/bin.
sipconfig.py
sipdistutils.py
siputils.py
sip.pyd
sip.exe
In order to build PyQt4 extract the source archive and open a MSYS command line. Go to the
directory and start
export PATH=/usr/local/lib/:$PATH
python configure.py --destdir=/usr/local/lib/site-packages
make
Since the Makefile doesn't find the Python header files copy them all and also the file sip.h
to a directory where they can be found. A good place seems to be the directory of the Qt sources.
There copy the files to $QTDIR/include. The Python library file python26.dll.a can go $QTDIR/lib.
After the build has finished you have to copy all files that end with .pyd to their destination,
e.g. /usr/local/lib/site-packages/PyQt4. Lateron when you have built the FreeCAD sources you have
to copy the PyQt4 directory and sip.pyd to the FreeCAD bin directory or set a symlink.
o ODE
TODO: Still not clear if this will be used. (http://www.ode.org), >= 0.10.x
o OpenCASCADE
For the build of the OpenCASCADE libraries get the sources from www.opencascade.org or alternatively
it is also possible to download a stripped source tarball from the Debian mirrors which don't include
any fonts and other resource files.
Unpack the sources and download a CMake script from http://opencascade-cmake.googlecode.com/svn/trunk/
and the file occ_config.h.cmake. Copy both files into the 'ros' directory, start cmake-gui from
within a MSYS command line and select MSYS Makefiles. In the options the following switches can be
disabled:
OPENCASCADE_WRAPPERS
OPENCASCADE_VISUALISATION
OPENCASCADE_OCAF
OPENCASCADE_DRAW
Then specify for OPENCASCADE_INSTALL_PREFIX C:/MSYS/1.0/local as destination directory-
Now click the Configure button which takes a while and afterwards the Generate button.
Note: The original sources don't completely compile with MinGW. Therefore you have to apply the patch
OpenCASCADE6.3.0-MinGW.patch from http://code.google.com/p/opencascade-cmake/source/browse/trunk
Note: The original sources includes also a configure script and the Makefile.am files.
But it appeared to be very hard to build the libraries this way. Thus, it highly
recommended to do it the CMake way.
Note: For a couple of libraries the arguments passed to the linker exceeds the number of
allowed characters and thus the linker stops with an error: "Bad file number".
To solve this issue you can open the file build.make of the according library and
split the block (e.g. TKGeomAlgo_OBJECTS) into several smaller ones and modify the
build rule this way that you create first a static library, add the other object
files to the group and then unpack the static archive into one directory. This
trick solves the problem to reduce the whole number of characters.
Afterwards the shared library can be built out of these object files.
Example:
If the build.make file has a line of the form
g++ <options> -shared -o libTKGeomAlgo.dll $(TKGeomAlgo_OBJECTS) <libs>
then change it into
ar rcs win32/libTKGeomAlgo.a $(TKGeomAlgo_OBJECTS1)
ar q win32/libTKGeomAlgo.a $(TKGeomAlgo_OBJECTS2)
...
ar x win32/libTKGeomAlgo.a
g++ <options> -shared -o libTKGeomAlgo.dll *.obj <libs>
rm -f *.obj
o Netgen
Modify the following files:
* libsrc/meshing/improve2.hpp
Add DLL_HEADER to class MeshOptimize2d
* libsrc/meshing/meshclass.hpp
Add DLL_HEADER to CalcSurfacesOfNode
* libsrc/meshing/meshtype.hpp
Add DLL_HEADER to classes SurfaceElementIndex, MeshPoint, Element2d (int anp),
* libsrc/occ/occgeom.hpp
Add DLL_HEADER to classes Line, OCCGeometry, OCCParameters, OCCGenerateMesh
* libsrc/occ/occmeshsurf.hpp
Add DLL_HEADER to classes OCCSurface, Meshing2OCCSurfaces, MeshOptimize2dOCCSurfaces, OCCRefinementSurfaces
Run the configure script with these arguments
./configure --prefix=/usr/local --enable-shared --enable-occ --with-occ=/usr/local --with-tcl=/usr/local/lib --enable-nglib CXXFLAGS="-DNGLIB_EXPORTS -DWNT"
make && make install
Building the FreeCAD sources
----------------------------
In order build the FreeCAD sources either get the developer sources from the SVN repository
or get one of the .tar.gz tarballs and extract it.
Now start cmake-gui.exe from within a MSYS command line window and browse to the FreeCAD
sources and also define the build directory. Now run Configure. It may happen that cmake
complains about some not found libraries. In this case go through the listed libraries and
choose the include directory and/or the path to the library where needed. Once Confgiure
accepts all your input create the Makefiles by clicking on Generate. Now close the window
and enter
make
make install
This will take a couple of minutes. From the command line window change to the FreeCAD bin
folder and start the application with ./FreeCAD. In case it complains about some DLLs it cannot
find you have to extend your PATH environment variable with
export PATH=$PATH:/usr/local/bin:/usr/local/lib
If no grave problems remains repeating ./FreeCAD should start the application now.
Note: In order to let CMake detect the boost libraries you must make sure that the
DLLs are in the system path because the check builds some test applications
and tries to start them. If the DLLs are not in path CMake says that it cannot
find boost. In this case do a export PATH=/usr/local/lib:$PATH
Have fun!
+82
View File
@@ -0,0 +1,82 @@
How to build and run FreeCAD under Windows
==========================================
Prerequisites
-------------
On Windows we use the IDE MS VisualStudio 9 with the highest service pack.
In case you don't want to use MS products you can also use the MinGW compiler,
alternatively. In this case continue on reading the manual README.MinGW.
You need cMake 2.6 or higher to generate the project files for VisualStudio.
Also you need all the 3rd party libraries to succsefully compile FreeCAD.
Using LibPack
-------------
To make it easier to get FreeCAD compiled, we provide a collection of all
needed libraries. It's called the LibPack. You can find it on the download
page on sourceforge.
Python needed
-------------
During the compilation some Python scripts get executed. So the Python interpreter
has to function on the OS. Use a command box to check it. If the Python library is
not properly installed you will get an error message like Cannot find python.exe.
If you use the LibPack you can also use the python.exe in the bin directory.
Compile
-------
In order to build the FreeCAD sources start the GUI frontend of cmake. If
doesn't already find the header files and libraries of the LibPack you have to
define the path where you have unpacked it.
After you conform to all prerequisites the compilation is - hopefully - only
a mouse click in VC ;-)
After Compiling
---------------
To get FreeCAD up and running from the compiler environment you need to move a
few files from the LibPack to the "bin" folder where FreeCAD.exe is installed
after a successfull build:
* python.exe and python_d.exe from LIBPACK/bin
* python26.dll and python26_d.dll from LIBPACK/bin
* python26.zip from LIBPACK/bin
* make a copy of python26.zip and rename it to python26_d.zip
Additional stuff
----------------
If you want to build the source code documentation you need DoxyGen.
To create an intstaller package you need WIX.
Additional information on building special 3rd party libraries
--------------------------------------------------------------
* Mefisto2F
The Salome SMESH library needs the Mefisto2F library which contains some Fortran code.
The easiest way is to convert the Fortran code into C code and use the f2c library to
build a static library.
1. Get the f2c utility from http://netlib.sandia.gov/f2c/mswin/index.html
2. Convert the Fortran file trte.f into a C file trte.c using the f2c utility
>>> f2c trte.f
3. Get the sources for the lib f2c from http://netlib.sandia.gov/f2c/libf2c.zip and
unpack them.
4. Apply the patch 'mefisto2f.patch'
5. Run nmake -f makefile.vc
Alternatively, you can use the Watcom Fortran compiler. The needed project file can be get from
here: http://sourceforge.net/p/salomesmesh/code/HEAD/tree/trunk/adm/win32-watcom/
However, this doesn't work for x64 targets at the moment.
* FreeType
http://stackoverflow.com/questions/6207176/compiling-freetype-to-dll-as-opposed-to-static-library
-85
View File
@@ -1,85 +0,0 @@
FreeCAD
-------
![screenshot](http://www.freecadweb.org/wiki/images/thumb/7/72/Freecad016_screenshot1.jpg/800px-Freecad016_screenshot1.jpg)
FreeCAD is a general purpose feature-based, parametric 3D modeler for
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering
and product design but also fits a wider range of uses in engineering,
such as architecture or other engineering specialties. It is 100% Open
Source (LGPL2+ license) and extremely modular, allowing for very
advanced extension and customization.
FreeCAD is based on OpenCASCADE, a powerful geometry kernel, features an
Open Inventor-compliant 3D scene representation model provided by the
Coin 3D library, and a broad Python API. The interface is built with Qt.
FreeCAD runs exactly the same way on Windows, Mac OSX, BSD and Linux
platforms.
- [Home page](http://www.freecadweb.org)
- [Documentation wiki](http://www.freecadweb.org/wiki/)
- [Forum](http://forum.freecadweb.org/)
- [Bug tracker](http://www.freecadweb.org/tracker/)
- [Git repository](https://github.com/FreeCAD/FreeCAD)
Installing
----------
Precompiled (installable) packages are available for Windows and Mac on the
[Releases page](https://github.com/FreeCAD/FreeCAD/releases).
On most Linux distributions, FreeCAD is directly installable from the
software center application.
Other options are described at the [wiki Download page](http://www.freecadweb.org/wiki/Download).
Build Status <img src="https://blog.travis-ci.com/images/travis-mascot-200px.png" height="30"/>
------------
| Master | 0.17 | Translation |
|:------:|:----:|:-----------:|
|[![Master][freecad-master-status]][travis-branches]|[![0.17][freecad-0.17-status]][travis-branches]|[![Crowdin](https://d322cqt584bo4o.cloudfront.net/freecad/localized.svg)](https://crowdin.com/project/freecad)|
[freecad-0.17-status]: https://travis-ci.org/FreeCAD/FreeCAD.svg?branch=releases/FreeCAD-0-17
[freecad-master-status]: https://travis-ci.org/FreeCAD/FreeCAD.svg?branch=master
[travis-branches]: https://travis-ci.org/FreeCAD/FreeCAD/branches
[travis-builds]: https://travis-ci.org/FreeCAD/FreeCAD/builds
Compiling
---------
Compiling FreeCAD requires installation of several libraries and their
development files such as OpenCASCADe, Coin and Qt, listed in the
pages below. Once this is done, FreeCAD can be simply compiled with
cMake. On Windows, these libraries are bundled and offered by the
FreeCAD team in a convenient package. On Linux, they are usually found
in your distribution's repositories, and on Mac OSX and other platforms
you will usually need to compile them yourself.
The pages below contain up-to-date build instructions:
- [Linux](http://www.freecadweb.org/wiki/CompileOnUnix)
- [Windows](http://www.freecadweb.org/wiki/CompileOnWindows)
- [Mac OSX](http://www.freecadweb.org/wiki/CompileOnMac)
- [Cygwin](http://www.freecadweb.org/wiki/CompileOnCygwin)
- [MinGW](http://www.freecadweb.org/wiki/CompileOnMinGW)
Usage & Getting help
--------------------
[![Gitter](https://img.shields.io/gitter/room/freecad/freecad.svg)](https://gitter.im/freecad/freecad?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
The FreeCAD wiki contains documentation on
general FreeCAD usage, Python scripting, and development. These
pages might help you get started:
- [Getting started](http://www.freecadweb.org/wiki/Getting_started)
- [Features list](http://www.freecadweb.org/wiki/Feature_list)
- [Frequent questions](http://www.freecadweb.org/wiki/FAQ)
- [Workbenches](http://www.freecadweb.org/wiki/Workbench_Concept)
- [Scripting](http://www.freecadweb.org/wiki/Power_users_hub)
- [Development](http://www.freecadweb.org/wiki/Developer_hub)
The [FreeCAD forum](http://forum.freecadweb.org) is also a great place
to find help and solve specific problems you might encounter when
learning to use FreeCAD.
-12
View File
@@ -1,12 +0,0 @@
#ifndef SMESH_VERSION_H
#define SMESH_VERSION_H
/* SMESH_Version.h. Generated from SMESH_Version.h.cmake by cmake. */
// SMESH version
#define SMESH_VERSION_MAJOR ${SMESH_VERSION_MAJOR}
#define SMESH_VERSION_MINOR ${SMESH_VERSION_MINOR}
#define SMESH_VERSION_PATCH ${SMESH_VERSION_PATCH}
#define SMESH_VERSION_TWEAK ${SMESH_VERSION_TWEAK}
#endif // SMESH_VERSION_H
+503
View File
@@ -0,0 +1,503 @@
dnl @synopsis AC_CXX_HAVE_STL
dnl
dnl If the compiler supports the Standard Template Library, define HAVE_STL.
dnl
dnl @version $Id: acinclude.m4,v 1.2 2006/02/24 00:09:19 wmayer Exp $
dnl @author Luc Maisonobe
dnl
AC_DEFUN([AC_CXX_HAVE_STL],
[AC_CACHE_CHECK(whether the compiler supports Standard Template Library,
ac_cv_cxx_have_stl,
[AC_REQUIRE([AC_CXX_NAMESPACES])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([#include <list>
#include <deque>
#ifdef HAVE_NAMESPACES
using namespace std;
#endif],[list<int> x; x.push_back(5);
list<int>::iterator iter = x.begin(); if (iter != x.end()) ++iter; return 0;],
ac_cv_cxx_have_stl=yes, ac_cv_cxx_have_stl=no)
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_have_stl" = yes; then
AC_DEFINE(HAVE_STL,,[define if the compiler supports Standard Template Library])
fi
])
dnl @synopsis AC_CXX_HAVE_STD
dnl
dnl If the compiler supports ISO C++ standard library (i.e., can include the
dnl files iostream, map, iomanip and cmath}), define HAVE_STD.
dnl
dnl @version $Id: acinclude.m4,v 1.2 2006/02/24 00:09:19 wmayer Exp $
dnl @author Luc Maisonobe
dnl
AC_DEFUN([AC_CXX_HAVE_STD],
[AC_CACHE_CHECK(whether the compiler supports ISO C++ standard library,
ac_cv_cxx_have_std,
[AC_REQUIRE([AC_CXX_NAMESPACES])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([#include <iostream>
#include <map>
#include <iomanip>
#include <cmath>
#ifdef HAVE_NAMESPACES
using namespace std;
#endif],[return 0;],
ac_cv_cxx_have_std=yes, ac_cv_cxx_have_std=no)
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_have_std" = yes; then
AC_DEFINE(HAVE_STD,,[define if the compiler supports ISO C++ standard library])
fi
])
dnl @synopsis AC_CXX_NAMESPACES
dnl
dnl If the compiler can prevent names clashes using namespaces, define
dnl HAVE_NAMESPACES.
dnl
dnl @version $Id: acinclude.m4,v 1.2 2006/02/24 00:09:19 wmayer Exp $
dnl @author Luc Maisonobe
dnl
AC_DEFUN([AC_CXX_NAMESPACES],
[AC_CACHE_CHECK(whether the compiler implements namespaces,
ac_cv_cxx_namespaces,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([namespace Outer { namespace Inner { int i = 0; }}],
[using namespace Outer::Inner; return i;],
ac_cv_cxx_namespaces=yes, ac_cv_cxx_namespaces=no)
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_namespaces" = yes; then
AC_DEFINE(HAVE_NAMESPACES,,[define if the compiler implements namespaces])
fi
])
dnl @synopsis AC_CXX_HAVE_SSTREAM
dnl
dnl If sstream (part of Standard C++ Library) exists
dnl define HAVE_SSTREAM.
dnl
dnl @version ac_cxx_have_std.m4 Tue Mar 28 18:20:26 CEST 2000
dnl @author Thomas Sondergaard thomass@deltadata.dk
dnl
AC_DEFUN([AC_CXX_HAVE_SSTREAM],
[AC_CACHE_CHECK(for sstream,
ac_cv_cxx_have_sstream,
[AC_REQUIRE([AC_CXX_NAMESPACES])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([#include <sstream>
#ifdef HAVE_NAMESPACES
using namespace std;
#endif],[return 0;],
ac_cv_cxx_have_sstream=yes, ac_cv_cxx_have_sstream=no)
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_have_sstream" = yes; then
AC_DEFINE(HAVE_SSTREAM,1,[define if the compiler supports sstream])
fi
])
dnl @synopsis AC_CXX_HAVE_STD_IOSTREAM
dnl
dnl If std iostream (part of Standard C++ Library) exists
dnl define HAVE_STD_IOSTREAM.
dnl
dnl @version ac_cxx_have_std.m4 Tue Mar 28 18:20:26 CEST 2000
dnl @author Thomas Sondergaard thomass@deltadata.dk
dnl
AC_DEFUN([AC_CXX_HAVE_STD_IOSTREAM],
[AC_CACHE_CHECK(for std iostream,
ac_cv_cxx_have_std_iostream,
[AC_REQUIRE([AC_CXX_NAMESPACES])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([
#include <sstream>
#include <streambuf>
#include <ios>
#ifdef HAVE_NAMESPACES
using namespace std;
#endif
],[return 0;],
ac_cv_cxx_have_std_iostream=yes, ac_cv_cxx_have_std_iostream=no)
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_have_std_iostream" = yes; then
AC_DEFINE(HAVE_STD_IOSTREAM,,[define if the compiler has std compliant iostream library])
fi
])
dnl @synopsis FREECAD_AC_HAVE_QT(MINIMUM_VERSION)
dnl
dnl @summary Search for Trolltech's Qt GUI framework.
dnl
dnl Checks for the Qt4 library and its tools uic, moc and rcc.
dnl
dnl The following variables are exported:
dnl
dnl QT_DIR
dnl QT_CXXFLAGS
dnl QT_LIBS
dnl QT_MOC
dnl QT_UIC
dnl QT_RCC
dnl
AC_DEFUN([FREECAD_AC_HAVE_QT],
[
AC_ARG_WITH([qt4-dir],
AC_HELP_STRING([--with-qt4-dir=DIR], [give prefix location of Qt4]),
[fc_qt4_dir="$withval"],
[fc_qt4_dir="/usr/share/qt4"])
AC_ARG_WITH([qt4-include],
AC_HELP_STRING([--with-qt4-include=DIR], [give include prefix of Qt4]),
[fc_qt4_include="$withval"],
[fc_qt4_include="$fc_qt4_dir/include"])
AC_ARG_WITH([qt4-lib],
AC_HELP_STRING([--with-qt4-lib=DIR], [give library path to Qt4]),
[fc_qt4_lib="$withval"],
[fc_qt4_lib="$fc_qt4_dir/lib"])
AC_ARG_WITH([qt4-bin],
AC_HELP_STRING([--with-qt4-bin=DIR], [give path to Qt4 utilities (moc, uic, rcc)]),
[fc_qt4_bin="$withval"],
[fc_qt4_bin="$fc_qt4_dir/bin"])
AC_ARG_WITH([qt4-framework],
AC_HELP_STRING([--with-qt4-framework],
[give prefix path to the Qt4 framework on Mac OS X]),
[fc_qt4_frm="$withval"],
[fc_qt4_frm=""])
AC_MSG_CHECKING(for host)
AC_MSG_RESULT($host_os)
case $host_os in
mingw32*)
fc_qt4_lib_core="-L$fc_qt4_lib -lQtCore"
QT_LIBS="-L$fc_qt4_lib -lopengl32 -lglu32 -lgdi32 -luser32 -lmingw32 -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows"
QT_CXXFLAGS="-I$fc_qt4_include -I$fc_qt4_include/QtCore -I$fc_qt4_include/QtGui -I$fc_qt4_include/QtOpenGL -I$fc_qt4_include/QtSvg -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -frtti -fexceptions"
;;
darwin*)
AC_PATH_XTRA
if test -d $fc_qt4_frm/QtCore.framework; then
ac_save_ldflags_fw=$LDFLAGS
LDFLAGS="$LDFLAGS -F$fc_qt4_frm -framework QtCore"
AC_CACHE_CHECK(
[whether Qt is installed as framework],
ac_cv_have_qt_framework,
[AC_TRY_LINK([#include <QtCore/qglobal.h>
#include <stdio.h>],
[printf("%s\n", qVersion());],
[ac_cv_have_qt_framework=yes],
[ac_cv_have_qt_framework=no])
])
LDFLAGS=$ac_save_ldflags_fw
else
ac_cv_have_qt_framework=no
fi
if test "$ac_cv_have_qt_framework" = yes; then
# Qt as framework installed
fc_qt4_lib_core="-Wl,-F$fc_qt4_frm -Wl,-framework,QtCore"
QT_LIBS="-Wl,-F$fc_qt4_frm"
#QT_LIBS="$QT_LIBS -Wl,-framework,Qt3Support"
QT_LIBS="$QT_LIBS -Wl,-framework,QtGui"
QT_LIBS="$QT_LIBS -Wl,-framework,QtOpenGL"
QT_LIBS="$QT_LIBS -Wl,-framework,QtCore"
QT_LIBS="$QT_LIBS -Wl,-framework,QtNetwork"
QT_LIBS="$QT_LIBS -Wl,-framework,QtXml"
QT_LIBS="$QT_LIBS -Wl,-framework,QtSql"
QT_LIBS="$QT_LIBS -Wl,-framework,QtSvg"
# Separated libs
QT4_CORE_LIBS="-Wl,-F$fc_qt4_frm -Wl,-framework,QtCore"
QT_CXXFLAGS="-F$fc_qt4_frm -I$fc_qt4_frm/Qt3Support.framework/Headers"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_frm/QtGui.framework/Headers"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_frm/QtCore.framework/Headers"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_frm/QtOpenGL.framework/Headers"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_frm/QtNetwork.framework/Headers"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_frm/QtSvg.framework/Headers"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_frm/QtXml.framework/Headers"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_frm/QtUiTools.framework/Headers"
# Separated flags
QT4_CORE_CXXFLAGS="-F$fc_qt4_frm -I$fc_qt4_frm/QtCore.framework/Headers"
# QtUiTools doesn't seem to be available as framework
#QT_CXXFLAGS="$QT_CXXFLAGS -I/usr/include/QtUiTools"
# QtWebKit check
fc_ac_save_cppflags=$CPPFLAGS
CPPFLAGS="$QT_CXXFLAGS -I$fc_qt4_frm/QtWebKit.framework/Headers"
AC_MSG_CHECKING([whether QtWebKit is available])
AC_TRY_COMPILE([#include <QWebView>], [],
[
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_frm/QtWebKit.framework/Headers"
QT_LIBS="$QT_LIBS -Wl,-framework,QtWebKit"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
CPPFLAGS=$fc_ac_save_cppflags
else
# Qt not as framework installed
fc_qt4_lib_core="-L$fc_qt4_lib -lQtCore"
QT_LIBS="-L$fc_qt4_lib -lQtCore -lQtGui -lQt3Support -lQtNetwork -lQtOpenGL -lQtSvg -lQtXml"
QT_CXXFLAGS="-I$fc_qt4_include -I$fc_qt4_include/Qt3Support"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtGui"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtCore"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtOpenGL"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtNetwork"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtSvg"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtXml"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtUiTools"
# Separated flags and libs
QT4_CORE_CXXFLAGS="-I$fc_qt4_include -I$fc_qt4_include/QtCore"
QT4_CORE_LIBS="-L$fc_qt4_lib -lQtCore"
# QtWebKit check
fc_ac_save_cppflags=$CPPFLAGS
CPPFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtWebKit"
AC_MSG_CHECKING([whether QtWebKit is available])
AC_TRY_COMPILE([#include <QWebView>], [],
[
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtWebKit"
QT_LIBS="$QT_LIBS -lQtWebKit"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
CPPFLAGS=$fc_ac_save_cppflags
fi
;;
*) # UNIX/Linux based
AC_PATH_XTRA
fc_qt4_lib_core="-L$fc_qt4_lib -lQtCore"
QT_LIBS="-L$fc_qt4_lib -lQtCore -lQtGui -lQt3Support -lQtNetwork -lQtOpenGL -lQtSvg -lQtXml $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
QT_CXXFLAGS="-I$fc_qt4_include -I$fc_qt4_include/Qt3Support"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtGui"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtCore"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtOpenGL"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtNetwork"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtSvg"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtXml"
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtUiTools $X_CFLAGS"
# QtWebKit check
fc_ac_save_cppflags=$CPPFLAGS
CPPFLAGS="-I$fc_qt4_include -I$fc_qt4_include/QtWebKit"
AC_MSG_CHECKING([whether QtWebKit is available])
AC_TRY_LINK([#include <QWebView>], [],
[
QT_CXXFLAGS="$QT_CXXFLAGS -I$fc_qt4_include/QtWebKit"
QT_LIBS="$QT_LIBS -lQtWebKit"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
CPPFLAGS=$fc_ac_save_cppflags
#QT4_CXXFLAGS="-I$fc_qt4_include"
#QT4_LIBS="-L$fc_qt4_lib $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
# Separated flags and libs
QT4_CORE_CXXFLAGS="-I$fc_qt4_include -I$fc_qt4_include/QtCore"
QT4_CORE_LIBS="-L$fc_qt4_lib -lQtCore"
#QT4_GUI_CXXFLAGS="-I$fc_qt4_include/QtGui"
#QT4_GUI_LIBS="-lQtGui"
#QT4_NETWORK_CFLAGS="-I$fc_qt4_include/QtNetwork"
#QT4_NETWORK_LIBS="-lQtNetwork"
#QT4_XML_CFLAGS="-I$fc_qt4_include/QtXml"
#QT4_XML_LIBS="-lQtXml"
;;
esac
min_qt_version=ifelse([$1], ,4.0.0, $1)
AC_MSG_CHECKING(for Qt >= $min_qt_version)
QT_MOC="$fc_qt4_bin/moc"
QT_UIC="$fc_qt4_bin/uic"
QT_RCC="$fc_qt4_bin/rcc"
# Now we check whether we can actually build a Qt app.
cat > myqt.h << EOF
#include <QObject>
class Test : public QObject
{
Q_OBJECT
public:
Test() {}
~Test() {}
public slots:
void receive() {}
signals:
void send();
};
EOF
cat > myqt.cpp << EOF
#include "myqt.h"
#include <QCoreApplication>
#include <QByteArray>
#include <QGlobalStatic>
#include <QStringList>
#include <stdio.h>
#include <stdlib.h>
int main( int argc, char **argv )
{
QCoreApplication app( argc, argv );
Test t;
QObject::connect( &t, SIGNAL(send()), &t, SLOT(receive()) );
// major, minor, patch
QString version = "$min_qt_version";
QStringList numbers = version.split('.');
int shift[[3]] = {16,8,0};
int minversion = 0, i = 0;
for (QStringList::ConstIterator it = numbers.begin(); it != numbers.end(); ++it, ++i) {
bool ok;
int val = (*it).toInt(&ok);
if (ok) {
minversion = minversion + (val << shift[[i]]);
}
}
exit(QT_VERSION < minversion);
}
EOF
bnv_try_1="$QT_MOC myqt.h -o moc_myqt.cpp"
AC_TRY_EVAL(bnv_try_1)
if test x"$ac_status" != x0; then
AC_MSG_ERROR([Cannot find Qt meta object compiler (moc), bye...])
fi
bnv_try_2="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o moc_myqt.o moc_myqt.cpp"
AC_TRY_EVAL(bnv_try_2)
if test x"$ac_status" != x0; then
AC_MSG_ERROR([Failed to compile source file created by Qt meta object compiler (moc), bye...])
fi
bnv_try_3="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o myqt.o myqt.cpp"
AC_TRY_EVAL(bnv_try_3)
if test x"$ac_status" != x0; then
AC_MSG_ERROR([Failed to compile Qt test app, bye...])
fi
# Make sure not to link against X11 libs so that configure succeeds whithout xserver started
bnv_try_4="$CXX myqt.o moc_myqt.o $fc_qt4_lib_core $LIBS -o myqt"
AC_TRY_EVAL(bnv_try_4)
if test x"$ac_status" != x0; then
AC_MSG_ERROR([Failed to link with Qt, bye...])
fi
AS_IF([AM_RUN_LOG([./myqt])],
[AC_MSG_RESULT(yes)],
[AC_MSG_ERROR([Version of Qt4 found but < $min_qt_version])
])
rm -f moc_myqt.cpp myqt.h myqt.cpp myqt.o myqt moc_myqt.o
if test -d $fc_qt4_dir; then
QT_DIR="$fc_qt4_dir"
else
QT_DIR=""
fi
AC_SUBST(QT_DIR)
AC_SUBST(QT_CXXFLAGS)
AC_SUBST(QT_LIBS)
AC_SUBST(QT4_CORE_CXXFLAGS)
AC_SUBST(QT4_CORE_LIBS)
AC_SUBST(QT_UIC)
AC_SUBST(QT_MOC)
AC_SUBST(QT_RCC)
])
dnl @synopsis FREECAD_AC_HAVE_BOOST
dnl
dnl @summary Search for boost header and library files.
dnl
dnl
AC_DEFUN([FREECAD_AC_HAVE_BOOST],
[
AC_MSG_CHECKING(for boost)
AC_ARG_WITH(boost-include,
AC_HELP_STRING([--with-boost-include=DIR], [Path to the boost header files]),
[fc_boost_incs=$withval], [fc_boost_incs=/usr/include])
AC_ARG_WITH(boost-lib,
AC_HELP_STRING([--with-boost-lib=DIR], [Path to the boost library files]),
[fc_boost_libs=$withval], [fc_boost_libs=/usr/lib])
fc_boost_ac_save_cppflags=$CPPFLAGS
fc_boost_ac_save_ldflags=$LDFLAGS
fc_boost_ac_save_libs=$LIBS
CPPFLAGS="$CPPFLAGS -I$fc_boost_incs"
LDFLAGS="$LDFLAGS -L$fc_boost_libs"
LIBS="-lboost_program_options-mt"
AC_TRY_LINK([#include <boost/program_options.hpp>],
[namespace po = boost::program_options;
po::options_description generic("Generic options");
generic.add_options()
("version,v", "print version string")
("help", "produce help message");
],
[AC_MSG_RESULT(yes)],
[AC_MSG_ERROR(failed)])
AC_MSG_CHECKING(for boost >= 1.35.0)
cat > boost.cpp << EOF
#include <boost/version.hpp>
#include <cstdio>
#include <cstdlib>
int main(int argc, char **argv)
{
exit(BOOST_VERSION >= 103500);
}
EOF
# Depending on boost version decide if boost_system is required
boost_try="$CXX boost.cpp $CPPFLAGS -o boost"
AC_TRY_EVAL(boost_try)
if test x"$ac_status" != x0; then
AC_MSG_ERROR([Failed to get version of boost, bye...])
fi
AS_IF([AM_RUN_LOG([./boost])],
[ac_cv_boost_system=no],
[ac_cv_boost_system=yes
])
AC_MSG_RESULT($ac_cv_boost_system)
rm -f boost.cpp boost
BOOST_FILESYSTEM_LIB="-lboost_filesystem-mt"
BOOST_PROGOPTIONS_LIB="-lboost_program_options-mt"
BOOST_SIGNALS_LIB="-lboost_signals-mt"
BOOST_SYSTEM_LIB=""
BOOST_REGEX_LIB="-lboost_regex-mt"
if test x"$ac_cv_boost_system" = xyes; then
LIBS="-lboost_system-mt"
AC_MSG_CHECKING(for boost system library)
AC_TRY_LINK([#include <boost/system/error_code.hpp>],
[ boost::system::error_code error_code; std::string message(error_code.message()); return 0; ],
[BOOST_SYSTEM_LIB="-lboost_system-mt"],
[BOOST_SYSTEM_LIB=""])
if test "x$BOOST_SYSTEM_LIB" = "x"; then
AC_MSG_RESULT(no)
AC_MSG_ERROR(Unable to link with the boost::system library)
else
AC_MSG_RESULT(yes)
fi
fi
AC_SUBST(BOOST_FILESYSTEM_LIB)
AC_SUBST(BOOST_PROGOPTIONS_LIB)
AC_SUBST(BOOST_SIGNALS_LIB)
AC_SUBST(BOOST_SYSTEM_LIB)
AC_SUBST(BOOST_REGEX_LIB)
CPPFLAGS=$fc_boost_ac_save_cppflags
LDFLAGS=$fc_boost_ac_save_ldflags
LIBS=$fc_boost_ac_save_libs
all_includes="$all_includes -I$fc_boost_incs"
all_libraries="$all_libraries -L$fc_boost_libs"
])
-65
View File
@@ -1,65 +0,0 @@
#version:
environment:
matrix:
- generator: "Visual Studio 12 Win64"
ARCH: "Win64"
Compiler: "MSVC2013"
- generator: "Visual Studio 12"
ARCH: "Win32"
Compiler: "MSVC2013"
#cache: #
configuration:
#- Debug
- Release
#branches:
# only:
clone_depth: 1600
# scripts that are called at very beginning, before repo cloning
#init:
#before_build:
# scripts that run after cloning repository
#todo cleanup libpacks on the FreeCAD-ports-cache repo
install:
- cd C:\projects\freecad
- if [%ARCH%] == [Win64] (appveyor DownloadFile https://github.com/FreeCAD/FreeCAD-ports-cache/releases/download/v0.17/FreeCADLibs_11.5.1_x64_VC12.7z)
- if [%ARCH%] == [Win64] (
powershell -Command 7z x FreeCADLibs_11.5.1_x64_VC12.7z > nul &&
ren FreeCADLibs_11.5_x64_VC12 FreeCADLibs)
- if [%ARCH%] == [Win32] (appveyor DownloadFile https://github.com/FreeCAD/FreeCAD-ports-cache/releases/download/v0.17/FreeCADLibs_11.5.1_x86_VC12.7z)
- if [%ARCH%] == [Win32] (
powershell -Command 7z x FreeCADLibs_11.5.1_x86_VC12.7z > nul &&
ren FreeCADLibs_11.5_x86_VC12 FreeCADLibs)
- dir
build_script:
- cd C:\projects\freecad
- mkdir build
- cd build
- cmake -DFREECAD_LIBPACK_DIR=C:\projects\freecad\FreeCADLibs
-DBUILD_FEM_NETGEN=OFF
-G "%generator%" ..
- mkdir bin
- xcopy C:\projects\freecad\FreeCADLibs\bin C:\projects\freecad\build\bin /E /Q
- msbuild /m FreeCAD_Trunk.sln
#after_build:
- cd C:\projects\freecad\build\bin\
- FreeCADCmd.exe --run-test 0
#artifacts:
test: off # to avoid discovering tests
#
# The following section automatically uploads artifacts
# whenever a tag is created on the master branch.
#
#deploy:
Executable
+69
View File
@@ -0,0 +1,69 @@
#!/bin/bash
# autogen.sh
# Run this script to generate all initial makefiles.
# Get version and revision number
MAJ=0
MIN=13
REV=0
#if svn --xml info >/dev/null 2>&1; then
# REV=`svn --xml info | tr -d '\r\n' | sed -e 's/.*<commit.*revision="\([0-9]*\)".*<\/commit>.*/\1/'`
#elif svn --version --quiet >/dev/null 2>&1; then
# REV=`svn info | grep "^Revision:" | cut -d" " -f2`
#fi
# count all lines that don't match this string
REV=`git rev-list HEAD | grep -cv "*"`
# if revision.m4 does not exist, create it
REV_FILE=revision.m4
#if [ -f $REV_FILE ]; then
# echo "$REV_FILE found"
#else
# echo "m4_define([FREECAD_MAJOR], $MAJ)" > $REV_FILE
# echo "m4_define([FREECAD_MINOR], $MIN)" >> $REV_FILE
# echo "m4_define([FREECAD_MICRO], $REV)" >> $REV_FILE
# echo "$REV_FILE created"
#fi
echo "m4_define([FREECAD_MAJOR], $MAJ)" > $REV_FILE
echo "m4_define([FREECAD_MINOR], $MIN)" >> $REV_FILE
echo "m4_define([FREECAD_MICRO], $REV)" >> $REV_FILE
# create m4 subdirectory which fails for some older versions of autotools
[ -d m4 ] || mkdir m4
if which glibtoolize > /dev/null 2>&1; then
echo "calling glibtoolize"
glibtoolize --force --copy
elif which libtoolize > /dev/null 2>&1; then
echo "calling libtoolize"
libtoolize --force --copy
else
echo "can't find libtoolize or glibtoolize"
exit 1
fi
# http://www.gnu.org/software/hello/manual/automake/Macro-Search-Path.html
if [ -d /usr/local/share/aclocal ]; then
echo "calling aclocal -I /usr/local/share/aclocal"
aclocal -I /usr/local/share/aclocal
else
echo "calling aclocal"
aclocal
fi
echo "calling autoheader"
autoheader
echo "calling automake"
automake --add-missing --copy
echo "calling autoconf"
autoconf
echo "Done"
echo "Please run configure."
# touch file to update Version.h
touch src/Build/Version.h.in
Executable
+8
View File
@@ -0,0 +1,8 @@
#! /bin/sh
# We almost need to specify the switches for the OpenCascade library to make
# configure running successfully.
# CASROOT=${CASROOT:-/opt/OpenCASCADE6.2.0/ros}
#./configure CXXFLAGS="-fno-strict-aliasing" LDFLAGS="-Wl,-z,defs" --with-occ-include=$CASROOT/inc --with-occ-lib=$CASROOT/Linux/lib
./configure CXXFLAGS="-fno-strict-aliasing -Wno-write-strings" LDFLAGS="-Wl,-z,defs"
+33 -48
View File
@@ -2,31 +2,28 @@
# Once done this will define
#
# COIN3D_FOUND - system has Coin3D - Open Inventor
# COIN3D_INCLUDE_DIRS - where the Inventor include directory can be found
# COIN3D_LIBRARIES - Link this to use Coin3D
# COIN3D_INCLUDE_DIR - where the Inventor include directory can be found
# COIN3D_LIBRARY - Link this to use Coin3D
#
SET( COIN3D_FOUND "NO" )
IF (WIN32)
IF (CYGWIN)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
${CMAKE_INCLUDE_PATH}
FIND_PATH(COIN3D_INCLUDE_DIR Inventor/So.h
/usr/include
/usr/local/include
/usr/include/coin
)
FIND_LIBRARY(COIN3D_LIBRARIES Coin
${CMAKE_LIBRARY_PATH}
FIND_LIBRARY(COIN3D_LIBRARY Coin
/usr/lib
/usr/local/lib
)
ELSE (CYGWIN)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
FIND_PATH(COIN3D_INCLUDE_DIR Inventor/So.h
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/include"
)
@@ -34,75 +31,63 @@ IF (WIN32)
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
)
FIND_LIBRARY(COIN3D_LIBRARY_RELEASE
NAMES
coin2
Coin4
PATHS
${CMAKE_LIBRARY_PATH}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
FIND_LIBRARY(COIN3D_LIBRARY_RELEASE coin2
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
)
IF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
SET(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
SET(COIN3D_LIBRARY optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
ELSE (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
IF (COIN3D_LIBRARY_DEBUG)
SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_DEBUG})
SET (COIN3D_LIBRARY ${COIN3D_LIBRARY_DEBUG})
ENDIF (COIN3D_LIBRARY_DEBUG)
IF (COIN3D_LIBRARY_RELEASE)
SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_RELEASE})
SET (COIN3D_LIBRARY ${COIN3D_LIBRARY_RELEASE})
ENDIF (COIN3D_LIBRARY_RELEASE)
ENDIF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
IF (COIN3D_LIBRARIES)
IF (COIN3D_LIBRARY)
# ADD_DEFINITIONS ( -DCOIN_NOT_DLL )
#ELSE (COIN3D_LIBRARIES)
# SET (COIN3D_LIBRARIES coin2d CACHE STRING "Coin3D Library (Debug) - Open Inventor API")
ENDIF (COIN3D_LIBRARIES)
#ELSE (COIN3D_LIBRARY)
# SET (COIN3D_LIBRARY coin2d CACHE STRING "Coin3D Library (Debug) - Open Inventor API")
ENDIF (COIN3D_LIBRARY)
ENDIF (CYGWIN)
ELSE (WIN32)
IF(APPLE)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
FIND_PATH(COIN3D_INCLUDE_DIR Inventor/So.h
/Library/Frameworks/Inventor.framework/Headers
/usr/local/include
/usr/include
)
FIND_LIBRARY(COIN3D_LIBRARIES Coin
FIND_LIBRARY(COIN3D_LIBRARY Coin
/Library/Frameworks/Inventor.framework/Libraries
/usr/lib
/usr/local/lib
)
SET(COIN3D_LIBRARIES "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
ELSE(APPLE)
# Try to use pkg-config first...
find_package(PkgConfig)
pkg_check_modules(COIN3D Coin)
# ... then fall back to manual lookup
IF(NOT COIN3D_FOUND)
FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
${CMAKE_INCLUDE_PATH}
/usr/include/Coin3
/usr/include
/usr/include/coin
/usr/local/include
)
SET(COIN3D_LIBRARY "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
ELSE(APPLE)
FIND_LIBRARY(COIN3D_LIBRARIES Coin
${CMAKE_LIBRARY_PATH}
/usr/lib
/usr/local/lib
PATH_SUFFIXES Coin2 Coin3
)
ENDIF(NOT COIN3D_FOUND)
FIND_PATH(COIN3D_INCLUDE_DIR Inventor/So.h
/usr/include/Coin3
/usr/include
/usr/local/include
)
FIND_LIBRARY(COIN3D_LIBRARY Coin
/usr/lib
/usr/local/lib
PATH_SUFFIXES Coin2 Coin3
)
ENDIF(APPLE)
ENDIF (WIN32)
IF(COIN3D_LIBRARIES)
SET( COIN3D_FOUND "NO" )
IF(COIN3D_LIBRARY)
SET( COIN3D_FOUND "YES" )
ENDIF(COIN3D_LIBRARIES)
ENDIF(COIN3D_LIBRARY)
+3 -3
View File
@@ -21,19 +21,19 @@ IF (COIN3D_FOUND)
ELSE(APPLE)
# Unix systems
find_path(COIN3D_DOC_PATH index.html
/usr/share/doc/libcoin80-doc/html
/usr/share/doc/libcoin60-doc/html
/usr/share/doc/coin/html
)
IF( EXISTS ${COIN3D_DOC_PATH})
message(STATUS "Coin3D doc is installed")
find_file(COIN3D_DOC_TAGFILE coin.tag Coin.tag
find_file(COIN3D_DOC_TAGFILE coin.tag
${COIN3D_DOC_PATH}
)
IF( EXISTS ${COIN3D_DOC_TAGFILE})
SET( COIN3D_DOC_FOUND "YES"
)
ELSE( EXISTS ${COIN3D_DOC_TAGFILE})
find_file(COIN3D_DOC_TAGFILE_GZ coin.tag.gz Coin.tag.gz
find_file(COIN3D_DOC_TAGFILE_GZ coin.tag.gz
${COIN3D_DOC_PATH}
)
IF( EXISTS ${COIN3D_DOC_TAGFILE_GZ})
+39
View File
@@ -0,0 +1,39 @@
# This module finds the f2c library.
#
# This module sets the following variables:
# F2C_FOUND - set to true if library is found
# F2C_DEFINITIONS - compilation options to use f2c
# F2C_LIBRARIES - f2c library name (using full path name)
if (F2C_LIBRARIES)
set(F2C_FOUND TRUE)
else(F2C_LIBRARIES)
set(F2C_DEFINITIONS)
find_library(F2C_LIBRARIES f2c
/usr/lib
/usr/local/lib
)
if(F2C_LIBRARIES)
set(F2C_FOUND TRUE)
else()
set(F2C_FOUND FALSE)
endif()
if(NOT F2C_FIND_QUIETLY)
if(F2C_FOUND)
message(STATUS "f2c library found.")
else(F2C_FOUND)
if(F2C_FIND_REQUIRED)
message(FATAL_ERROR "f2c library not found. Please specify library location.")
else()
message(STATUS "f2c library not found. Please specify library location.")
endif()
endif(F2C_FOUND)
endif(NOT F2C_FIND_QUIETLY)
endif(F2C_LIBRARIES)
-58
View File
@@ -1,58 +0,0 @@
# - Find MED file installation
#
# The following variable are set:
# MEDFILE_INCLUDE_DIRS
# MEDFILE_LIBRARIES
# MEDFILE_C_LIBRARIES
# MEDFILE_F_LIBRARIES
#
# The CMake (or environment) variable MEDFILE_ROOT_DIR can be set to
# guide the detection and indicate a root directory to look into.
#
############################################################################
# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
# ------
MESSAGE(STATUS "Check for medfile (libmed and libmedc) ...")
# ------
SET(MEDFILE_ROOT_DIR $ENV{MEDFILE_ROOT_DIR} CACHE PATH "Path to the MEDFile.")
IF(MEDFILE_ROOT_DIR)
LIST(APPEND CMAKE_PREFIX_PATH "${MEDFILE_ROOT_DIR}")
ENDIF(MEDFILE_ROOT_DIR)
FIND_PATH(MEDFILE_INCLUDE_DIRS med.h PATH_SUFFIXES med)
FIND_FILE(meddotH med.h PATHS ${MEDFILE_INCLUDE_DIRS} NO_DEFAULT_PATH)
IF(NOT meddotH)
MESSAGE(FATAL_ERROR "med.h not found, please install development header-files for libmedc")
ENDIF(NOT meddotH)
#FIND_PROGRAM(MDUMP mdump)
FIND_LIBRARY(MEDFILE_C_LIBRARIES NAMES medC)
FIND_LIBRARY(MEDFILE_F_LIBRARIES NAMES med)
IF(MEDFILE_F_LIBRARIES)
SET(MEDFILE_LIBRARIES ${MEDFILE_C_LIBRARIES} ${MEDFILE_F_LIBRARIES})
ELSE(MEDFILE_F_LIBRARIES)
SET(MEDFILE_LIBRARIES ${MEDFILE_C_LIBRARIES})
ENDIF(MEDFILE_F_LIBRARIES)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MEDFile REQUIRED_VARS MEDFILE_INCLUDE_DIRS MEDFILE_LIBRARIES)
+23 -158
View File
@@ -1,171 +1,36 @@
# Try to find nglib/netgen
#
# Optional input NETGENDATA is path to the netgen libsrc source tree - this is
# required due to some headers not being installed by netgen.
#
# Once done this will define
#
# NGLIB_INCLUDE_DIR - where the nglib include directory can be found
# NGLIB_LIBRARIES - Link this to use nglib
# NETGEN_INCLUDE_DIRS - where the netgen include directories can be found
# NETGEN_DEFINITIONS - C++ compiler defines required to use netgen/nglib
#
# See also: http://git.salome-platform.org/gitweb/?p=NETGENPLUGIN_SRC.git;a=summary
# nglib
FIND_PATH(NGLIB_INCLUDE_DIR nglib.h /usr/include)
FIND_LIBRARY(NGLIB_LIBRARIES nglib /usr/lib /usr/local/lib)
find_package(Netgen CONFIG)
if(Netgen_FOUND)
set(NGLIB_INCLUDE_DIR ${NETGEN_INCLUDE_DIRS})
set(NGLIB_LIBRARIES nglib)
set(NETGEN_DEFINITIONS -DNO_PARALLEL_THREADS -DOCCGEOMETRY)
# for external smesh only the following two variables are needed:
set(NETGEN_FOUND True)
set(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS})
# netgen headers
SET(NETGEN_INCLUDE_DIRS)
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} -DNO_PARALLEL_THREADS -DOCCGEOMETRY)
else(Netgen_FOUND)
SET(NETGENDATA /usr/share/netgen/libsrc)
FIND_PATH(NETGEN_DIR_csg csg.hpp PATHS ${NETGENDATA}/csg)
FIND_PATH(NETGEN_DIR_gen array.hpp PATHS ${NETGENDATA}/general)
FIND_PATH(NETGEN_DIR_geom2d geom2dmesh.hpp PATHS ${NETGENDATA}/geom2d)
FIND_PATH(NETGEN_DIR_gprim gprim.hpp PATHS ${NETGENDATA}/gprim)
FIND_PATH(NETGEN_DIR_la linalg.hpp PATHS ${NETGENDATA}/linalg)
FIND_PATH(NETGEN_DIR_mesh meshing.hpp PATHS ${NETGENDATA}/meshing)
FIND_PATH(NETGEN_DIR_occ occgeom.hpp PATHS ${NETGENDATA}/occ)
FIND_PATH(NETGEN_DIR_stlgeom stlgeom.hpp PATHS ${NETGENDATA}/stlgeom)
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_csg})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_gen})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_geom2d})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_gprim})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_la})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_mesh})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_occ})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_stlgeom})
SET(NETGEN_DEFINITIONS -DNO_PARALLEL_THREADS -DOCCGEOMETRY)
IF(DEFINED MACPORTS_PREFIX OR DEFINED HOMEBREW_PREFIX)
# We haven't supported Netgen prior to 5.3.1 on MacOS, and the current
# plan is for the next Netgen version to be 6.1 (currently unreleased).
IF(DEFINED HOMEBREW_PREFIX)
SET(NGLIB_PREFIX ${HOMEBREW_PREFIX})
ELSE(DEFINED HOMEBREW_PREFIX)
SET(NGLIB_PREFIX ${MACPORTS_PREFIX})
ENDIF(DEFINED HOMEBREW_PREFIX)
FIND_PATH(NGLIB_INCLUDE_DIR nglib.h ${NGLIB_PREFIX}/include)
FIND_LIBRARY(NGLIB_LIBNGLIB nglib ${NGLIB_PREFIX}/lib)
FIND_LIBRARY(NGLIB_LIBMESH mesh ${NGLIB_PREFIX}/lib)
FIND_LIBRARY(NGLIB_LIBOCC occ ${NGLIB_PREFIX}/lib)
FIND_LIBRARY(NGLIB_LIBINTERFACE interface ${NGLIB_PREFIX}/lib)
SET(NGLIB_LIBRARIES ${NGLIB_LIBNGLIB} ${NGLIB_LIBMESH}
${NGLIB_LIBOCC} ${NGLIB_LIBINTERFACE})
IF(NOT NETGENDATA)
SET(NETGENDATA ${NGLIB_PREFIX}/include/netgen)
ENDIF(NOT NETGENDATA)
ELSEIF(WIN32)
FIND_PATH(NGLIB_INCLUDE_DIR NAMES nglib.h PATHS ${NETGEN_INCLUDEDIR})
SET(NETGEN_LIBS nglib mesh occ interface)
SET(NGLIB_LIBRARIES "")
FOREACH(it ${NETGEN_LIBS})
FIND_LIBRARY(NGLIB ${it} PATHS ${NETGEN_LIBDIR})
FIND_LIBRARY(NGLIBD ${it}d PATHS ${NETGEN_LIBDIR})
IF(NGLIBD AND NGLIB)
SET(NG_LIB optimized ${NGLIB}
debug ${NGLIBD})
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NG_LIB})
UNSET(NGLIB CACHE)
UNSET(NGLIBD CACHE)
ELSEIF(NGLIB)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB})
UNSET(NGLIB CACHE)
ENDIF()
ENDFOREACH()
IF(NOT NETGENDATA)
SET(NETGENDATA netgen)
ENDIF(NOT NETGENDATA)
ELSE(DEFINED MACPORTS_PREFIX OR DEFINED HOMEBREW_PREFIX)
IF(NETGEN_ROOT)
SET(NETGEN_INCLUDEDIR ${NETGEN_ROOT}/include)
SET(NETGEN_LIBDIR ${NETGEN_ROOT}/lib)
# allow to customize if NETGEN_ROOT is used
IF(NOT NETGENDATA)
SET(NETGENDATA ${NETGEN_ROOT}/libsrc)
ENDIF(NOT NETGENDATA)
ENDIF()
FIND_PATH(NGLIB_INCLUDE_DIR NAMES nglib.h PATHS ${NETGEN_INCLUDEDIR} /usr/include /usr/include/netgen-mesher)
FIND_LIBRARY(NGLIB_LIBNGLIB nglib PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
SET(NGLIB_LIBRARIES ${NGLIB_LIBNGLIB})
FIND_LIBRARY(NGLIB_LIBMESH NAMES mesh ngmesh PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
IF(NGLIB_LIBMESH)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB_LIBMESH})
ENDIF()
FIND_LIBRARY(NGLIB_LIBOCC NAMES occ ngocc PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
IF(NGLIB_LIBOCC)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB_LIBOCC})
ENDIF()
FIND_LIBRARY(NGLIB_LIBINTERFACE NAMES interface nginterface PATHS ${NETGEN_LIBDIR} /usr/lib /usr/lib64 /usr/local/lib)
IF(NGLIB_LIBINTERFACE)
SET(NGLIB_LIBRARIES ${NGLIB_LIBRARIES} ${NGLIB_LIBINTERFACE})
ENDIF()
IF(NOT NETGENDATA)
SET(NETGENDATA /usr/share/netgen/libsrc)
ENDIF(NOT NETGENDATA)
ENDIF(DEFINED MACPORTS_PREFIX OR DEFINED HOMEBREW_PREFIX)
FIND_PATH(NETGEN_DIR_include NAMES mydefs.hpp NO_DEFAULT_PATH PATHS ${NGLIB_INCLUDE_DIR}/include ${NETGENDATA}/include ${NETGEN_INCLUDEDIR} ${NGLIB_INCLUDE_DIR})
IF(NOT NGLIB_INCLUDE_DIR AND NOT NETGEN_DIR_include)
MESSAGE(STATUS "Cannot find NETGEN header files.")
ELSE()
file(STRINGS ${NETGEN_DIR_include}/mydefs.hpp NETGEN_VERSION
REGEX "#define PACKAGE_VERSION.*"
)
ENDIF()
IF(NOT NGLIB_LIBRARIES)
MESSAGE(STATUS "Cannot find NETGEN library.")
ENDIF()
IF(NGLIB_INCLUDE_DIR AND NGLIB_LIBRARIES)
SET(Netgen_FOUND TRUE)
SET(NETGEN_INCLUDE_DIRS ${NETGEN_DIR_include} ${NGLIB_INCLUDE_DIR})
LIST(REMOVE_DUPLICATES NETGEN_INCLUDE_DIRS)
ELSE()
SET(Netgen_FOUND FALSE)
ENDIF()
endif(Netgen_FOUND)
# Package-provided cMake file is not enough
IF(Netgen_FOUND)
IF(NETGEN_VERSION)
string(REGEX MATCHALL "[0-9]+" NETGEN_VERSION_expr ${NETGEN_VERSION})
list(LENGTH NETGEN_VERSION_expr NETGEN_VERSION_COUNT)
list(GET NETGEN_VERSION_expr 0 NETGEN_VERSION_MAJOR)
IF(NETGEN_VERSION_COUNT GREATER 1)
list(GET NETGEN_VERSION_expr 1 NETGEN_VERSION_MINOR)
ELSE()
set(NETGEN_VERSION_MINOR 0)
ENDIF()
ELSE() # workaround for netgen 6.2 and newer. currently there is no easy way to detect the version
# better use "find_package(netgen CONFIG REQUIRED)"
set(NETGEN_VERSION_MAJOR 6)
set(NETGEN_VERSION_MINOR 2)
ENDIF()
MATH(EXPR NETGEN_VERSION_C "(${NETGEN_VERSION_MAJOR} << 16) + (${NETGEN_VERSION_MINOR} << 8)")
MATH(EXPR NETGEN_VERSION_62 "(6 << 16) + (2 << 8)")
IF(NOT NETGEN_VERSION_C LESS NETGEN_VERSION_62) # Version >= 6.2
IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
# Clang sometimes fails to include <cstdio>
include(CMakePushCheckState)
cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${NETGEN_CXX_FLAGS}")
check_cxx_source_compiles("#include <cstdio>\nint main(){}" CSTDIO_INCLUDE_TRY1)
IF(NOT CSTDIO_INCLUDE_TRY1)
# Ugly hack to make <stdio.h> building gets function
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -U__cplusplus -D__cplusplus=201103L")
check_cxx_source_compiles("#include <cstdio>\nint main(){}" CSTDIO_INCLUDE_TRY2)
IF(NOT CSTDIO_INCLUDE_TRY2)
message(FATAL_ERROR "Cannot #include <cstdio>.")
ELSE()
set(NETGEN_CXX_FLAGS "${NETGEN_CXX_FLAGS} -U__cplusplus -D__cplusplus=201103L")
ENDIF()
ENDIF()
cmake_pop_check_state()
ENDIF()
ENDIF()
MESSAGE(STATUS "Found NETGEN version ${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}, calculated: ${NETGEN_VERSION_C}")
LIST(APPEND NETGEN_DEFINITIONS -DNETGEN_VERSION=${NETGEN_VERSION_C})
ENDIF()
+80
View File
@@ -0,0 +1,80 @@
# - Try to find the Open Dynamics Engine library
# Once done this will define:
#
# ODE_FOUND - system has the ODE library
# ODE_INCLUDE_DIRS - the ODE include directory (include ODE headers with <ode/headername.h>)
# ODE_LIBRARIES - the ODE library
# ODE_DEFINITIONS - additional definitions necessary to use ODE (usually the precision flag)
if (ODE_INCLUDE_DIRS AND ODE_LIBRARIES)
# ODE has already been found and the necessary variables are cached
set(ODE_FOUND TRUE)
else (ODE_INCLUDE_DIRS AND ODE_LIBRARIES)
# Find ODE
# Use PkgConfig if possible
if (NOT WIN32)
find_package(PkgConfig)
pkg_check_modules(PC_ODE ode)
endif (NOT WIN32)
# Find include dir
find_path(ODE_INCLUDE_DIRS ode/ode.h
HINTS ${PC_ODE_INCLUDEDIR}
PATHS $ENV{OGRE_HOME}/include # ODE is shipped with the OGRE SDK
)
find_library(ODE_LIBRARIES ode
NAMES ode ${PC_ODE_LIBRARIES}
HINTS ${PC_ODE_LIBDIR}
PATHS $ENV{OGRE_HOME}/lib
)
# Decide if ODE was found
set(ODE_FOUND FALSE)
if (ODE_INCLUDE_DIRS AND ODE_LIBRARIES)
set(ODE_FOUND TRUE)
endif (ODE_INCLUDE_DIRS AND ODE_LIBRARIES)
# Find out extra definitions needed for ODE.
# This is mostly needed for the ODE's precision selector:
# ODE can be built either in single-precision (default) or double-precision mode. The app has
# to be built in the same mode, otherwise things will crash.
if (ODE_FOUND)
# If PkgConfig found anything, then use its results, otherwise use ode-config script
if (PC_ODE_FOUND)
# Take the definitions from PkgConfig results
set(ODE_DEFINITIONS ${PC_ODE_CFLAGS_OTHER} CACHE STRING "")
set(ODE_DEFINITIONS_FOUND TRUE)
else (PC_ODE_FOUND)
# Try to use ode-config
find_program(ODECONFIG_EXECUTABLE ode-config)
if (ODECONFIG_EXECUTABLE)
execute_process(COMMAND ${ODECONFIG_EXECUTABLE} --cflags OUTPUT_VARIABLE ODECONFIG_CFLAGS)
set(ODE_DEFINITIONS ${ODECONFIG_CFLAGS} CACHE STRING "")
set(ODE_DEFINITIONS_FOUND TRUE)
endif (ODECONFIG_EXECUTABLE)
endif (PC_ODE_FOUND)
endif (ODE_FOUND)
# Show messages
if (ODE_FOUND)
if (NOT ODE_FIND_QUIETLY)
message(STATUS "Found ODE: ${ODE_LIBRARIES}")
# Show the ODE precision if the definitions were detected
if (ODE_DEFINITIONS_FOUND)
if (ODE_DEFINITIONS MATCHES -DdDOUBLE)
message(STATUS "ODE uses double precision")
else (ODE_DEFINITIONS MATCHES -DdDOUBLE)
message(STATUS "ODE uses single precision")
endif (ODE_DEFINITIONS MATCHES -DdDOUBLE)
else (ODE_DEFINITIONS_FOUND)
message(STATUS "Warning: couldn't determine ODE's precision")
endif (ODE_DEFINITIONS_FOUND)
endif (NOT ODE_FIND_QUIETLY)
else (ODE_FOUND)
if (ODE_FIND_REQUIRED)
message(FATAL_ERROR "Could NOT find ODE")
endif (ODE_FIND_REQUIRED)
endif (ODE_FOUND)
endif(ODE_INCLUDE_DIRS AND ODE_LIBRARIES)
+1 -1
View File
@@ -1,7 +1,7 @@
# - Try to find OpenCV library installation
# See http://sourceforge.net/projects/opencvlibrary/
#
# The following variables are optionally searched for defaults
# The follwoing variables are optionally searched for defaults
# OpenCV_ROOT_DIR: Base directory of OpenCv tree to use.
# OpenCV_FIND_REQUIRED_COMPONENTS : FIND_PACKAGE(OpenCV COMPONENTS ..)
# compatible interface. typically CV CXCORE CVAUX HIGHGUI CVCAM .. etc.
+46 -111
View File
@@ -1,4 +1,4 @@
# Try to find OCE / OCC
# Try to find OCC
# Once done this will define
#
# OCC_FOUND - system has OCC - OpenCASCADE
@@ -7,113 +7,56 @@
# OCC_LIBRARIES - Link this to use OCC
# OCC_OCAF_LIBRARIES - Link this to use OCC OCAF framework
# First try to find OpenCASCADE Community Edition
if(NOT DEFINED OCE_DIR)
# Check for OSX needs to come first because UNIX evaluates to true on OSX
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
if(DEFINED MACPORTS_PREFIX)
find_package(OCE QUIET HINTS ${MACPORTS_PREFIX}/Library/Frameworks)
elseif(DEFINED HOMEBREW_PREFIX)
find_package(OCE QUIET HINTS ${HOMEBREW_PREFIX}/Cellar/oce/*)
endif()
elseif(UNIX)
set(OCE_DIR "/usr/local/share/cmake/")
elseif(WIN32)
set(OCE_DIR "c:/OCE-0.4.0/share/cmake")
endif()
endif()
if(${FREECAD_USE_OCC_VARIANT} MATCHES "Community Edition")
find_package(OCE QUIET)
endif()
IF (WIN32)
IF (CYGWIN OR MINGW)
if(OCE_FOUND)
message(STATUS "-- OpenCASCADE Community Edition has been found.")
# Disable this define. For more details see bug #0001872
#add_definitions (-DHAVE_CONFIG_H)
set(OCC_INCLUDE_DIR ${OCE_INCLUDE_DIRS})
#set(OCC_LIBRARY_DIR ${OCE_LIBRARY_DIR})
else(OCE_FOUND) #look for OpenCASCADE
# we first try to find opencascade directly:
if(NOT OCCT_CMAKE_FALLBACK)
find_package(OpenCASCADE CONFIG QUIET)
endif(NOT OCCT_CMAKE_FALLBACK)
if(OpenCASCADE_FOUND)
set(OCC_FOUND ${OpenCASCADE_FOUND})
set(OCC_INCLUDE_DIR ${OpenCASCADE_INCLUDE_DIR})
set(OCC_LIBRARY_DIR ${OpenCASCADE_LIBRARY_DIR})
set(OCC_LIBRARIES ${OpenCASCADE_LIBRARIES})
set(OCC_OCAF_LIBRARIES TKCAF TKXCAF)
else(OpenCASCADE_FOUND)
if(WIN32)
if(CYGWIN OR MINGW)
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
/usr/include/opencascade
/usr/local/include/opencascade
/opt/opencascade/include
/opt/opencascade/inc
)
FIND_LIBRARY(OCC_LIBRARY TKernel
/usr/lib
/usr/local/lib
/opt/opencascade/lib
)
else(CYGWIN OR MINGW)
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\OCC\\2;Installation Path]/include"
)
FIND_LIBRARY(OCC_LIBRARY TKernel
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\OCC\\2;Installation Path]/lib"
)
endif(CYGWIN OR MINGW)
else(WIN32)
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
/usr/include/occt
/usr/include/opencascade
/usr/local/include/opencascade
/opt/opencascade/include
/opt/opencascade/inc
)
FIND_LIBRARY(OCC_LIBRARY TKernel
/usr/lib
/usr/local/lib
/opt/opencascade/lib
)
endif(WIN32)
if(OCC_LIBRARY)
GET_FILENAME_COMPONENT(OCC_LIBRARY_DIR ${OCC_LIBRARY} PATH)
IF(NOT OCC_INCLUDE_DIR)
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
${OCC_LIBRARY_DIR}/../inc
)
ENDIF()
endif(OCC_LIBRARY)
endif(OpenCASCADE_FOUND)
endif(OCE_FOUND)
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
/usr/include/opencascade
/usr/local/include/opencascade
/opt/opencascade/include
/opt/opencascade/inc
)
if(OCC_INCLUDE_DIR)
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAJOR
REGEX "#define OCC_VERSION_MAJOR.*"
FIND_LIBRARY(OCC_LIBRARY TKernel
/usr/lib
/usr/local/lib
/opt/opencascade/lib
)
ELSE (CYGWIN OR MINGW)
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\OCC\\2;Installation Path]/include"
)
FIND_LIBRARY(OCC_LIBRARY TKernel
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\OCC\\2;Installation Path]/lib"
)
ENDIF (CYGWIN OR MINGW)
ELSE (WIN32)
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
/usr/include/opencascade
/usr/local/include/opencascade
/opt/opencascade/include
)
string(REGEX MATCH "[0-9]+" OCC_MAJOR ${OCC_MAJOR})
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MINOR
REGEX "#define OCC_VERSION_MINOR.*"
FIND_LIBRARY(OCC_LIBRARY TKernel
/usr/lib
/usr/local/lib
/opt/opencascade/lib
)
string(REGEX MATCH "[0-9]+" OCC_MINOR ${OCC_MINOR})
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAINT
REGEX "#define OCC_VERSION_MAINTENANCE.*"
)
string(REGEX MATCH "[0-9]+" OCC_MAINT ${OCC_MAINT})
set(OCC_VERSION_STRING "${OCC_MAJOR}.${OCC_MINOR}.${OCC_MAINT}")
endif(OCC_INCLUDE_DIR)
ENDIF (WIN32)
# handle the QUIETLY and REQUIRED arguments and set OCC_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OCC REQUIRED_VARS OCC_INCLUDE_DIR VERSION_VAR OCC_VERSION_STRING)
if(OCC_FOUND)
SET(OCC_FOUND FALSE)
IF(OCC_LIBRARY)
GET_FILENAME_COMPONENT(OCC_LIBRARY_DIR ${OCC_LIBRARY} PATH)
SET(OCC_FOUND TRUE)
set(OCC_LIBRARIES
TKFillet
TKMesh
@@ -125,10 +68,8 @@ if(OCC_FOUND)
TKSTL
TKShHealing
TKXSBase
TKBin
TKBool
TKBO
TKCDF
TKBRep
TKTopAlgo
TKGeomAlgo
@@ -148,13 +89,7 @@ if(OCC_FOUND)
TKXDESTEP
TKXDEIGES
TKMeshVS
TKAdvTools
)
if(OCC_VERSION_STRING VERSION_LESS 6.7.3)
list(APPEND OCC_OCAF_LIBRARIES TKAdvTools)
endif(OCC_VERSION_STRING VERSION_LESS 6.7.3)
message(STATUS "-- Found OCE/OpenCASCADE version: ${OCC_VERSION_STRING}")
message(STATUS "-- OCE/OpenCASCADE include directory: ${OCC_INCLUDE_DIR}")
message(STATUS "-- OCE/OpenCASCADE shared libraries directory: ${OCC_LIBRARY_DIR}")
else(OCC_FOUND)
#message(SEND_ERROR "Neither OpenCASCADE Community Edition nor OpenCasCade were found: will not build CAD modules!")
endif(OCC_FOUND)
ENDIF(OCC_LIBRARY)
+22 -41
View File
@@ -27,13 +27,13 @@ if(PYCXX_INCLUDE_DIR)
if(NOT EXISTS "${PYCXX_INCLUDE_DIR}/CXX/Config.hxx")
if(PyCXX_FIND_REQUIRED)
MESSAGE(FATAL_ERROR
"PyCXX: could not find CXX/Config.hxx in PYCXX_INCLUDE_DIR "
"${PYCXX_INCLUDE_DIR}")
"PyCXX: could not find CXX/Config.hxx in PYCXX_INCLUDE_DIR "
"${PYCXX_INCLUDE_DIR}")
else(PyCXX_FIND_REQUIRED)
MESSAGE(WARNING
"PyCXX: could not find CXX/Config.hxx in PYCXX_INCLUDE_DIR "
"${PYCXX_INCLUDE_DIR}")
unset(PYCXX_FOUND)
"PyCXX: could not find CXX/Config.hxx in PYCXX_INCLUDE_DIR "
"${PYCXX_INCLUDE_DIR}")
unset(PYCXX_FOUND)
endif(PyCXX_FIND_REQUIRED)
endif(NOT EXISTS "${PYCXX_INCLUDE_DIR}/CXX/Config.hxx")
else(PYCXX_INCLUDE_DIR)
@@ -44,11 +44,11 @@ else(PYCXX_INCLUDE_DIR)
if(NOT PYCXX_INCLUDE_DIR)
if(PyCXX_FIND_REQUIRED)
MESSAGE(FATAL_ERROR
"PyCXX not found; please set PYCXX_INCLUDE_DIR to "
"the location of CXX/Config.hxx")
"PyCXX not found; please set PYCXX_INCLUDE_DIR to "
"the location of CXX/Config.hxx")
else(PyCXX_FIND_REQUIRED)
MESSAGE(STATUS "PyCXX not found")
unset(PYCXX_FOUND)
unset(PYCXX_FOUND)
endif(PyCXX_FIND_REQUIRED)
endif(NOT PYCXX_INCLUDE_DIR)
endif(PYCXX_INCLUDE_DIR)
@@ -58,14 +58,14 @@ if(PYCXX_SOURCE_DIR)
# source directory specified, they'd better be there
if(NOT EXISTS "${PYCXX_SOURCE_DIR}/cxxextensions.c")
if(PyCXX_FIND_REQUIRED)
MESSAGE(FATAL_ERROR
"PyCXX: cxxextensions.c not found in PYCXX_SOURCE_DIR "
"${PYCXX_SOURCE_DIR}")
MESSAGE(FATAL_ERROR
"PyCXX: cxxextensions.c not found in PYCXX_INCLUDE_DIR "
"${PYCXX_INCLUDE_DIR}")
else(PyCXX_FIND_REQUIRED)
MESSAGE(WARNING
"PyCXX: cxxextensions.c not found in PYCXX_SOURCE_DIR "
"${PYCXX_SOURCE_DIR}")
unset(PYCXX_FOUND)
"PyCXX: cxxextensions.c not found in PYCXX_INCLUDE_DIR "
"${PYCXX_INCLUDE_DIR}")
unset(PYCXX_FOUND)
endif(PyCXX_FIND_REQUIRED)
endif(NOT EXISTS "${PYCXX_SOURCE_DIR}/cxxextensions.c")
else(PYCXX_SOURCE_DIR)
@@ -79,48 +79,29 @@ else(PYCXX_SOURCE_DIR)
"${CMAKE_CURRENT_LIST_DIR}/../CXX")
if(NOT PYCXX_SOURCE_DIR)
if(PyCXX_FIND_REQUIRED)
MESSAGE(FATAL_ERROR
"PyCXX not found; please set PYCXX_SOURCE_DIR to "
"the location of cxxextensions.c")
MESSAGE(FATAL_ERROR
"PyCXX not found; please set PYCXX_SOURCE_DIR to "
"the location of cxxextensions.c")
else(PyCXX_FIND_REQUIRED)
MESSAGE(STATUS "PyCXX not found")
unset(PYCXX_FOUND)
unset(PYCXX_FOUND)
endif(PyCXX_FIND_REQUIRED)
endif(NOT PYCXX_SOURCE_DIR)
endif(PYCXX_SOURCE_DIR)
# Find PyCXX Version
if(PYCXX_INCLUDE_DIR AND PYCXX_SOURCE_DIR)
file(READ ${PYCXX_INCLUDE_DIR}/CXX/Version.hxx PYCXX_VERSION_H)
foreach(item IN ITEMS MAJOR MINOR PATCH)
string(REGEX REPLACE
".*#define[ \t]+PYCXX_VERSION_${item}[ \t]+([0-9]+).*"
"\\1" PYCXX_VERSION_${item}
"${PYCXX_VERSION_H}"
)
endforeach()
set(PYCXX_VERSION ${PYCXX_VERSION_MAJOR}.${PYCXX_VERSION_MINOR}.${PYCXX_VERSION_PATCH})
endif()
# see what we've got
if(PYCXX_FOUND)
MESSAGE(STATUS "PyCXX found:")
MESSAGE(STATUS " Headers: ${PYCXX_INCLUDE_DIR}")
MESSAGE(STATUS " Sources: ${PYCXX_SOURCE_DIR}")
MESSAGE(STATUS " Version: ${PYCXX_VERSION}")
# Build the list of sources for convenience
set(PYCXX_SOURCES
${PYCXX_SOURCE_DIR}/cxxextensions.c
${PYCXX_SOURCE_DIR}/cxx_extensions.cxx
${PYCXX_SOURCE_DIR}/cxxsupport.cxx
${PYCXX_SOURCE_DIR}/IndirectPythonInterface.cxx
${PYCXX_SOURCE_DIR}/cxxextensions.c
${PYCXX_SOURCE_DIR}/cxx_extensions.cxx
${PYCXX_SOURCE_DIR}/cxxsupport.cxx
${PYCXX_SOURCE_DIR}/IndirectPythonInterface.cxx
)
if(NOT ${PYCXX_VERSION} VERSION_LESS 7.0.0)
list(APPEND PYCXX_SOURCES
${PYCXX_SOURCE_DIR}/cxx_exceptions.cxx)
add_definitions(-DPYCXX_6_2_COMPATIBILITY)
endif()
else(PYCXX_FOUND)
MESSAGE(STATUS "PyCXX not found")
endif(PYCXX_FOUND)
-96
View File
@@ -1,96 +0,0 @@
# Try to find PySide2 utilities, PYSIDE2UIC and PYSIDE2RCC:
# PYSIDE2UICBINARY - Location of PYSIDE2UIC executable
# PYSIDE2RCCBINARY - Location of PYSIDE2RCC executable
# PYSIDE2_TOOLS_FOUND - PySide2 utilities found.
# Also provides macro similar to FindQt4.cmake's WRAP_UI and WRAP_RC,
# for the automatic generation of Python code from Qt4's user interface
# ('.ui') and resource ('.qrc') files. These macros are called:
# - PYSIDE_WRAP_UI
# - PYSIDE_WRAP_RC
IF(PYSIDE2UICBINARY AND PYSIDE2RCCBINARY)
# Already in cache, be silent
set(PYSIDE2_TOOLS_FOUND_QUIETLY TRUE)
ENDIF(PYSIDE2UICBINARY AND PYSIDE2RCCBINARY)
if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
#pyside2 tools are often in same location as python interpreter
get_filename_component(PYTHON_BIN_DIR ${PYTHON_EXECUTABLE} PATH)
set(PYSIDE_BIN_DIR ${PYTHON_BIN_DIR})
endif(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
FIND_PROGRAM(PYSIDE2UICBINARY NAMES python2-pyside2-uic pyside2-uic pyside2-uic-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} HINTS ${PYSIDE_BIN_DIR})
FIND_PROGRAM(PYSIDE2RCCBINARY NAMES pyside2-rcc pyside2-rcc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} HINTS ${PYSIDE_BIN_DIR})
MACRO(PYSIDE_WRAP_UI outfiles)
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.py)
#ADD_CUSTOM_TARGET(${it} ALL
# DEPENDS ${outfile}
#)
if(WIN32 OR APPLE)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${PYSIDE2UICBINARY} ${infile} -o ${outfile}
MAIN_DEPENDENCY ${infile}
)
else()
# Especially on Open Build Service we don't want changing date like
# pyside2-uic generates in comments at beginning., which is why
# we follow the tool command with in-place sed.
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND "${PYSIDE2UICBINARY}" "${infile}" -o "${outfile}"
COMMAND sed -i "/^# /d" "${outfile}"
MAIN_DEPENDENCY "${infile}"
)
endif()
list(APPEND ${outfiles} ${outfile})
ENDFOREACH(it)
ENDMACRO (PYSIDE_WRAP_UI)
MACRO(PYSIDE_WRAP_RC outfiles)
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}_rc.py")
#ADD_CUSTOM_TARGET(${it} ALL
# DEPENDS ${outfile}
#)
if(WIN32 OR APPLE)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${PYSIDE2RCCBINARY} ${infile} -o ${outfile}
MAIN_DEPENDENCY ${infile}
)
else()
# Especially on Open Build Service we don't want changing date like
# pyside-rcc generates in comments at beginning, which is why
# we follow the tool command with in-place sed.
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
COMMAND "${PYSIDE2RCCBINARY}" "${infile}" ${PY_ATTRIBUTE} -o "${outfile}"
COMMAND sed -i "/^# /d" "${outfile}"
MAIN_DEPENDENCY "${infile}"
)
endif()
list(APPEND ${outfiles} ${outfile})
ENDFOREACH(it)
ENDMACRO (PYSIDE_WRAP_RC)
IF(EXISTS ${PYSIDE2UICBINARY} AND EXISTS ${PYSIDE2RCCBINARY})
set(PYSIDE2_TOOLS_FOUND TRUE)
ENDIF(EXISTS ${PYSIDE2UICBINARY} AND EXISTS ${PYSIDE2RCCBINARY})
if(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
if (NOT PySide2Tools_FIND_QUIETLY)
message(STATUS "Found PySide2 tools: ${PYSIDE2UICBINARY}, ${PYSIDE2RCCBINARY}")
endif (NOT PySide2Tools_FIND_QUIETLY)
else(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
if(PySide2Tools_FIND_REQUIRED)
message(FATAL_ERROR "PySide2 tools could not be found, but are required.")
else(PySide2Tools_FIND_REQUIRED)
if (NOT PySide2Tools_FIND_QUIETLY)
message(STATUS "PySide2 tools: not found.")
endif (NOT PySide2Tools_FIND_QUIETLY)
endif(PySide2Tools_FIND_REQUIRED)
endif(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
-101
View File
@@ -1,101 +0,0 @@
# Try to find PySide utilities, PYSIDEUIC4 and PYSIDERCC4:
# PYSIDEUIC4BINARY - Location of PYSIDEUIC4 executable
# PYSIDERCC4BINARY - Location of PYSIDERCC4 executable
# PYSIDE_TOOLS_FOUND - PySide utilities found.
# Also provides macro similar to FindQt4.cmake's WRAP_UI and WRAP_RC,
# for the automatic generation of Python code from Qt4's user interface
# ('.ui') and resource ('.qrc') files. These macros are called:
# - PYSIDE_WRAP_UI
# - PYSIDE_WRAP_RC
IF(PYSIDEUIC4BINARY AND PYSIDERCC4BINARY)
# Already in cache, be silent
set(PYSIDE_TOOLS_FOUND_QUIETLY TRUE)
ENDIF(PYSIDEUIC4BINARY AND PYSIDERCC4BINARY)
if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
#pyside tools are often in same location as python interpreter
get_filename_component(PYTHON_BIN_DIR ${PYTHON_EXECUTABLE} PATH)
set(PYSIDE_BIN_DIR ${PYTHON_BIN_DIR})
endif(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
FIND_PROGRAM(PYSIDEUIC4BINARY NAMES python2-pyside-uic pyside-uic pyside-uic-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} HINTS ${PYSIDE_BIN_DIR})
FIND_PROGRAM(PYSIDERCC4BINARY NAMES pyside-rcc pyside-rcc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} HINTS ${PYSIDE_BIN_DIR})
MACRO(PYSIDE_WRAP_UI outfiles)
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.py)
#ADD_CUSTOM_TARGET(${it} ALL
# DEPENDS ${outfile}
#)
if(WIN32)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${PYSIDEUIC4BINARY} ${infile} -o ${outfile}
MAIN_DEPENDENCY ${infile}
)
else(WIN32)
# Especially on Open Build Service we don't want changing date like
# pyside-uic generates in comments at beginning, which is why
# we follow the tool command with in-place sed.
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND "${PYSIDEUIC4BINARY}" "${infile}" -o "${outfile}"
COMMAND sed -i "/^# /d" "${outfile}"
MAIN_DEPENDENCY "${infile}"
)
endif(WIN32)
list(APPEND ${outfiles} ${outfile})
ENDFOREACH(it)
ENDMACRO (PYSIDE_WRAP_UI)
MACRO(PYSIDE_WRAP_RC outfiles)
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}_rc.py")
#ADD_CUSTOM_TARGET(${it} ALL
# DEPENDS ${outfile}
#)
if (${PYTHON_VERSION_MAJOR} LESS 3)
SET(PY_ATTRIBUTE "")
else (${PYTHON_VERSION_MAJOR} LESS 3)
SET(PY_ATTRIBUTE "-py3")
endif (${PYTHON_VERSION_MAJOR} LESS 3)
if(WIN32)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${PYSIDERCC4BINARY} ${infile} ${PY_ATTRIBUTE} -o ${outfile}
MAIN_DEPENDENCY ${infile}
)
else(WIN32)
# Especially on Open Build Service we don't want changing date like
# pyside-rcc generates in comments at beginning, which is why
# we follow the tool command with in-place sed.
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
COMMAND "${PYSIDERCC4BINARY}" "${infile}" ${PY_ATTRIBUTE} -o "${outfile}"
COMMAND sed -i "/^# /d" "${outfile}"
MAIN_DEPENDENCY "${infile}"
)
endif(WIN32)
list(APPEND ${outfiles} ${outfile})
ENDFOREACH(it)
ENDMACRO (PYSIDE_WRAP_RC)
IF(EXISTS ${PYSIDEUIC4BINARY} AND EXISTS ${PYSIDERCC4BINARY})
set(PYSIDE_TOOLS_FOUND TRUE)
ENDIF(EXISTS ${PYSIDEUIC4BINARY} AND EXISTS ${PYSIDERCC4BINARY})
if(PYSIDERCC4BINARY AND PYSIDEUIC4BINARY)
if (NOT PySideTools_FIND_QUIETLY)
message(STATUS "Found PySide Tools: ${PYSIDEUIC4BINARY}, ${PYSIDERCC4BINARY}")
endif (NOT PySideTools_FIND_QUIETLY)
else(PYSIDERCC4BINARY AND PYSIDEUIC4BINARY)
if(PySideTools_FIND_REQUIRED)
message(FATAL_ERROR "PySideTools could not be found, but are required.")
else(PySideTools_FIND_REQUIRED)
if (NOT PySideTools_FIND_QUIETLY)
message(STATUS "PySideTools: not found.")
endif (NOT PySideTools_FIND_QUIETLY)
endif(PySideTools_FIND_REQUIRED)
endif(PYSIDERCC4BINARY AND PYSIDEUIC4BINARY)
-100
View File
@@ -1,100 +0,0 @@
# Find OCULUS
#
# This module defines
# OCULUS_FOUND
# OCULUS_INCLUDE_DIRS
# OCULUS_LIBRARIES
#
# Copyright (c) 2012 I-maginer
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place - Suite 330, Boston, MA 02111-1307, USA, or go to
# http://www.gnu.org/copyleft/lesser.txt
#
# On a new cmake run, we do not need to be verbose
IF(OCULUS_INCLUDE_DIR AND OCULUS_LIBRARY)
SET(OCULUS_FIND_QUIETLY FALSE)
ENDIF()
# If OCULUS_ROOT was defined in the environment, use it.
if (NOT OCULUS_ROOT)
if(NOT "$ENV{OCULUS_ROOT}" STREQUAL "")
set(OCULUS_ROOT $ENV{OCULUS_ROOT})
else()
set(OCULUS_ROOT $ENV{SCOL_DEPENDENCIES_PATH}/oculus/LibOVR)
endif()
endif()
# concat all the search paths
IF(OCULUS_ROOT)
SET(OCULUS_INCLUDE_SEARCH_DIRS
${OCULUS_INCLUDE_SEARCH_DIRS}
${OCULUS_ROOT}/include
)
SET(OCULUS_LIBRARY_SEARCH_RELEASE_DIRS
${OCULUS_LIBRARY_SEARCH_DIRS}
${OCULUS_ROOT}/Lib/x64/VS2012
)
SET(OCULUS_LIBRARY_SEARCH_DEBUG_DIRS
${OCULUS_LIBRARY_SEARCH_DIRS}
${OCULUS_ROOT}/Lib/x64/VS2012
)
ENDIF()
# log message
IF (NOT OCULUS_FIND_QUIETLY)
MESSAGE(STATUS "Checking for OCULUS library")
ENDIF()
# Search for header files
FIND_PATH(OCULUS_INCLUDE_DIR OVR.h
PATHS ${OCULUS_INCLUDE_SEARCH_DIRS})
# Search for libraries files (release mode)
FIND_LIBRARY(OCULUS_LIBRARY_RELEASE libovr64
PATHS ${OCULUS_LIBRARY_SEARCH_RELEASE_DIRS})
# Search for libraries files (debug mode)
FIND_LIBRARY(OCULUS_LIBRARY_DEBUG libovr64d
PATHS ${OCULUS_LIBRARY_SEARCH_DEBUG_DIRS})
# Configure libraries for debug/release
SET(OCULUS_INCLUDE_DIRS ${OCULUS_INCLUDE_DIR} CACHE PATH "Directory containing OCULUS header files")
SET(OCULUS_LIBRARY debug ${OCULUS_LIBRARY_DEBUG} optimized ${OCULUS_LIBRARY_RELEASE})
SET(OCULUS_LIBRARIES ${OCULUS_LIBRARY} CACHE STRING "OCULUS libraries files")
#IF(OCULUS_INCLUDE_DIR AND OCULUS_LIBRARY)
SET(OCULUS_FOUND TRUE)
#ENDIF()
# Hide those variables in GUI
SET(OCULUS_INCLUDE_DIR ${OCULUS_INCLUDE_DIR} CACHE INTERNAL "")
SET(OCULUS_LIBRARY_RELEASE ${OCULUS_LIBRARY_RELEASE} CACHE INTERNAL "")
SET(OCULUS_LIBRARY_DEBUG ${OCULUS_LIBRARY_DEBUG} CACHE INTERNAL "")
SET(OCULUS_LIBRARY ${OCULUS_LIBRARY} CACHE INTERNAL "")
# log find result
IF(OCULUS_FOUND)
IF(NOT OCULUS_FIND_QUIETLY)
MESSAGE(STATUS " libraries: ${OCULUS_LIBRARIES}")
MESSAGE(STATUS " includes: ${OCULUS_INCLUDE_DIRS}")
ENDIF()
ELSE(OCULUS_FOUND)
IF(NOT OCULUS_LIBRARIES)
MESSAGE(STATUS, "OCULUS library or one of it dependencies could not be found.")
ENDIF()
IF(NOT OCULUS_INCLUDE_DIRS)
MESSAGE(STATUS "OCULUS include files could not be found.")
ENDIF()
ENDIF(OCULUS_FOUND)
+4 -6
View File
@@ -9,14 +9,12 @@
IF (CMAKE_COMPILER_IS_GNUCC)
FIND_PATH(SMESH_INCLUDE_DIR SMESH_Mesh.hxx
# These are default search paths, why specify them?
# /usr/include
# /usr/local/include
PATH_SUFFIXES smesh
/usr/include
/usr/local/include
)
FIND_LIBRARY(SMESH_LIBRARY SMESH
# /usr/lib
# /usr/local/lib
/usr/lib
/usr/local/lib
)
ELSE (CMAKE_COMPILER_IS_GNUCC)
# Not yet implemented
+115
View File
@@ -0,0 +1,115 @@
#############################################################################
# Description:
# Try to find SoQt library.
# Once run this will define:
#
# SOQT_FOUND
# SOQT_LIBRARIES
# SOQT_LIBRARY_RELEASE
# SOQT_LIBRARY_DEBUG
#
#############################################################################
IF(UNIX OR WIN32)
IF(WIN32)
IF(MINGW)
FIND_LIBRARY(SOQT_LIBRARY
NAMES SoQt #only shared libraries under windows
PATHS
/usr/lib
/usr/local/lib
/lib
"$ENV{COINDIR}/lib"
)
ELSE(MINGW)
FIND_LIBRARY(SOQT_LIBRARY_RELEASE
#only shared libraries under windows
NAMES soqt1
PATHS
"$ENV{COINDIR}/lib"
)
FIND_LIBRARY(SOQT_LIBRARY_DEBUG
NAMES soqt1d #only shared libraries under windows
PATHS
"$ENV{COINDIR}/lib"
)
FIND_PATH(SOQT_INCLUDE_PATH Inventor/Qt/SoQt.h
"$ENV{COINDIR}/include"
"$ENV{INCLUDE}"
)
MARK_AS_ADVANCED(
SOQT_LIBRARY_DEBUG
SOQT_LIBRARY_RELEASE
SOQT_INCLUDE_PATH
)
ENDIF(MINGW)
ELSE(WIN32)
FIND_LIBRARY(SOQT_LIBRARY
NAMES SoQt #only shared libraries under windows
PATHS
/usr/lib
/usr/local/lib
/lib
"$ENV{COINDIR}/lib"
)
#MESSAGE(STATUS "DBG SOQT_LIBRARY=${SOQT_LIBRARY}")
ENDIF(WIN32)
## --------------------------------
IF(SOQT_LIBRARY OR SOQT_LIBRARY_DEBUG OR SOQT_LIBRARY_RELEASE)
IF(WIN32)
IF(SOQT_LIBRARY_RELEASE AND NOT SOQT_LIBRARY_DEBUG)
SET(SOQT_LIBRARY_RELEASE ${SOQT_LIBRARY_RELEASE})
ENDIF(SOQT_LIBRARY_RELEASE AND NOT SOQT_LIBRARY_DEBUG)
IF(SOQT_LIBRARY_DEBUG AND NOT SOQT_LIBRARY_RELEASE)
SET(SOQT_LIBRARY_DEBUG ${SOQT_LIBRARY_DEBUG})
ENDIF(SOQT_LIBRARY_DEBUG AND NOT SOQT_LIBRARY_RELEASE)
IF(SOQT_LIBRARY_RELEASE AND SOQT_LIBRARY_DEBUG)
SET(SOQT_LIBRARY_RELEASE ${SOQT_LIBRARY_RELEASE})
SET(SOQT_LIBRARY_DEBUG ${SOQT_LIBRARY_DEBUG})
ENDIF(SOQT_LIBRARY_RELEASE AND SOQT_LIBRARY_DEBUG)
IF(MINGW)
SET(SOQT_LIBRARIES ${SOQT_LIBRARY})
MARK_AS_ADVANCED(
SOQT_LIBRARIES
SOQT_LIBRARY
)
ENDIF(MINGW)
ELSE(WIN32)
SET(SOQT_LIBRARIES ${SOQT_LIBRARY})
MARK_AS_ADVANCED(
SOQT_LIBRARIES
SOQT_LIBRARY
)
ENDIF(WIN32)
SET(SOQT_FOUND TRUE)
ELSE(SOQT_LIBRARY OR SOQT_LIBRARY_DEBUG OR SOQT_LIBRARY_RELEASE)
SET(SOQT_FOUND FALSE)
#MESSAGE("SoQt library not found.")
ENDIF(SOQT_LIBRARY OR SOQT_LIBRARY_DEBUG OR SOQT_LIBRARY_RELEASE)
IF(WIN32)
IF(SOQT_INCLUDE_PATH)
set(SOQT_INCLUDE_DIR ${SOQT_INCLUDE_PATH})
ELSE(SOQT_INCLUDE_PATH)
#MESSAGE("Can not find SoQt includes")
ENDIF(SOQT_INCLUDE_PATH)
MARK_AS_ADVANCED(
SOQT_INCUDE_DIR
)
ENDIF(WIN32)
#MESSAGE(STATUS "SOQT_FOUND : ${SOQT_FOUND}")
ELSE(UNIX OR WIN32)
SET(SOQT_FOUND FALSE)
ENDIF(UNIX OR WIN32)
+1 -1
View File
@@ -1,7 +1,7 @@
# - Try to find Windows Installer XML
# See http://wix.sourceforge.net
#
# The following variables are optionally searched for defaults
# The follwoing variables are optionally searched for defaults
# WIX_ROOT_DIR: Base directory of WIX2 tree to use.
#
# The following are set after configuration is done:
+12 -15
View File
@@ -4,12 +4,11 @@
# Modified by Jos van den Oever
# This module defines
# XercesC_INCLUDE_DIRS, where to find ptlib.h, etc.
# XercesC_LIBRARIES, the libraries to link against to use pwlib.
# XercesC_FOUND, If false, don't try to use pwlib.
# XERCESC_INCLUDE_DIR, where to find ptlib.h, etc.
# XERCESC_LIBRARIES, the libraries to link against to use pwlib.
# XERCESC_FOUND, If false, don't try to use pwlib.
FIND_PATH(XercesC_INCLUDE_DIRS xercesc/dom/DOM.hpp
${CMAKE_INCLUDE_PATH}
FIND_PATH(XERCESC_INCLUDE_DIR xercesc/dom/DOM.hpp
"[HKEY_CURRENT_USER\\software\\xerces-c\\src]"
"[HKEY_CURRENT_USER\\xerces-c\\src]"
$ENV{XERCESCROOT}/src/
@@ -17,12 +16,10 @@ FIND_PATH(XercesC_INCLUDE_DIRS xercesc/dom/DOM.hpp
/usr/include
)
FIND_LIBRARY(XercesC_LIBRARIES
FIND_LIBRARY(XERCESC_LIBRARIES
NAMES
xerces-c
xerces-c_3
PATHS
${CMAKE_LIBRARY_PATH}
"[HKEY_CURRENT_USER\\software\\xerces-c\\lib]"
"[HKEY_CURRENT_USER\\xerces-c\\lib]"
$ENV{XERCESCROOT}/${LIB_DESTINATION}
@@ -31,21 +28,21 @@ FIND_LIBRARY(XercesC_LIBRARIES
)
# if the include a the library are found then we have it
IF(XercesC_INCLUDE_DIRS AND XercesC_LIBRARIES)
SET(XercesC_FOUND "YES" )
IF(XERCESC_INCLUDE_DIR AND XERCESC_LIBRARIES)
SET(XERCESC_FOUND "YES" )
IF(NOT XERCESC__FIND_QUIETLY)
MESSAGE(STATUS "Found Xerces-C: ${XercesC_LIBRARIES}")
MESSAGE(STATUS "Found Xerces-C: ${XERCESC_LIBRARIES}")
ENDIF(NOT XERCESC__FIND_QUIETLY)
ELSE(XercesC_INCLUDE_DIRS AND XercesC_LIBRARIES)
ELSE(XERCESC_INCLUDE_DIR AND XERCESC_LIBRARIES)
IF(XERCESC_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Xerces-C was not found.")
ENDIF(XERCESC_FIND_REQUIRED)
IF(NOT XERCESC__FIND_QUIETLY)
MESSAGE(STATUS "Xerces-C was not found.")
ENDIF(NOT XERCESC__FIND_QUIETLY)
ENDIF(XercesC_INCLUDE_DIRS AND XercesC_LIBRARIES)
ENDIF(XERCESC_INCLUDE_DIR AND XERCESC_LIBRARIES)
#MARK_AS_ADVANCED(
# XercesC_INCLUDE_DIRS
# XercesC_LIBRARIES
# XERCESC_INCLUDE_DIR
# XERCESC_LIBRARIES
#)
+130 -137
View File
@@ -1,164 +1,164 @@
include (CheckCXXSourceRuns)
# ================================================================================
# == Macros, mostly for special targets ==========================================
MACRO(COPY_IF_DIFFERENT FROM_DIR TO_DIR FILES TARGETS TAGS)
# Macro to implement copy_if_different for a list of files
# Arguments -
# FROM_DIR - this is the source directory
# TO_DIR - this is the destination directory
# FILES - names of the files to copy
# TODO: add globing.
# TARGETS - List of targets
# TAGS - Since only the file name is used
# to generate rules, pre-pend a user
# supplied tag to prevent duplicate rule errors.
SET(AddTargets "")
FOREACH(SRC ${FILES})
GET_FILENAME_COMPONENT(SRCFILE ${SRC} NAME)
# Command to copy the files to ${STEP1}/src, if changed.
SET(TARGET "${TAGS}/${SRCFILE}")
IF("${FROM_DIR}" STREQUAL "")
SET(FROM ${SRC})
ELSE("${FROM_DIR}" STREQUAL "")
SET(FROM ${FROM_DIR}/${SRC})
ENDIF("${FROM_DIR}" STREQUAL "")
IF("${TO_DIR}" STREQUAL "")
SET(TO ${SRCFILE})
ELSE("${TO_DIR}" STREQUAL "")
SET(TO ${TO_DIR}/${SRCFILE})
ENDIF("${TO_DIR}" STREQUAL "")
ADD_CUSTOM_COMMAND(
OUTPUT ${TARGET}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${FROM} ${TO}
COMMENT "Copying ${SRCFILE} ${TO_DIR}"
)
SET(AddTargets ${AddTargets} ${TARGET})
ENDFOREACH(SRC ${FILES})
SET(${TARGETS} ${AddTargets})
ENDMACRO(COPY_IF_DIFFERENT FROM_DIR TO_DIR FILES TARGETS TAGS)
MACRO (fc_copy_sources target_name outpath)
if(BUILD_VERBOSE_GENERATION)
set(fc_details " (fc_copy_sources called from ${CMAKE_CURRENT_SOURCE_DIR})")
else()
set(fc_details "")
endif()
foreach(it ${ARGN})
file(TO_NATIVE_PATH "${outpath}/${it}" outfile)
get_filename_component(infile ${it} ABSOLUTE)
get_filename_component(outfile "${outpath}/${it}" ABSOLUTE)
add_file_dependencies("${infile}" "${outfile}")
get_filename_component(outfile ${outfile} ABSOLUTE)
add_file_dependencies(${infile} ${outfile})
ADD_CUSTOM_COMMAND(
COMMAND "${CMAKE_COMMAND}" -E copy "${infile}" "${outfile}"
OUTPUT "${outfile}"
COMMENT "Copying ${infile} to ${outfile}${fc_details}"
MAIN_DEPENDENCY "${infile}"
SOURCE ${infile}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${infile} ${outfile}
TARGET ${target_name}
OUTPUTS ${outfile}
)
endforeach(it)
ADD_CUSTOM_COMMAND(
SOURCE ${target_name}
TARGET ${target_name}
DEPENDS ${ARGN}
)
ENDMACRO(fc_copy_sources)
MACRO (fc_copy_file_if_different inputfile outputfile)
if (EXISTS ${inputfile})
if (EXISTS ${outputfile})
execute_process(
COMMAND ${CMAKE_COMMAND} -E compare_files ${inputfile}
${outputfile}
RESULT_VARIABLE DIFFERENT_FILES
OUTPUT_QUIET
ERROR_QUIET
)
if (DIFFERENT_FILES)
execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${inputfile}"
"${outputfile}")
endif()
else()
execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${inputfile}"
"${outputfile}")
endif()
endif()
ENDMACRO(fc_copy_file_if_different)
MACRO (fc_target_copy_resource target_name inpath outpath)
# Macro to copy a list of files into a nested directory structure
# Arguments -
# target_name - name of the target the files will be added to
# inpath - name of the source directory
# outpath - name of the destination directory
# ARGN - a list of relative file names that will be copied
#
# If a relative file name is foo/bar.txt then the foo directory
# part will be kept so that the destination file name will be
# ${outpath}/foo/bar.txt
#
if(BUILD_VERBOSE_GENERATION)
set(fc_details " (fc_target_copy_resource called from ${CMAKE_CURRENT_SOURCE_DIR})")
else()
set(fc_details "")
endif()
foreach(it ${ARGN})
get_filename_component(infile "${inpath}/${it}" ABSOLUTE)
get_filename_component(outfile "${outpath}/${it}" ABSOLUTE)
add_file_dependencies("${infile}" "${outfile}")
file(TO_NATIVE_PATH "${inpath}/${it}" infile)
file(TO_NATIVE_PATH "${outpath}/${it}" outfile)
get_filename_component(infile ${infile} ABSOLUTE)
get_filename_component(outfile ${outfile} ABSOLUTE)
add_file_dependencies(${infile} ${outfile})
ADD_CUSTOM_COMMAND(
COMMAND "${CMAKE_COMMAND}" -E copy "${infile}" "${outfile}"
OUTPUT "${outfile}"
COMMENT "Copying ${infile} to ${outfile}${fc_details}"
MAIN_DEPENDENCY "${infile}"
SOURCE ${infile}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${infile} ${outfile}
TARGET ${target_name}
OUTPUTS ${outfile}
)
endforeach(it)
ADD_CUSTOM_COMMAND(
SOURCE ${target_name}
TARGET ${target_name}
DEPENDS ${ARGN}
)
ENDMACRO(fc_target_copy_resource)
MACRO (fc_target_copy_resource_flat target_name inpath outpath)
# Macro to copy a list of files into a flat directory structure
# Arguments -
# target_name - name of the target the files will be added to
# inpath - name of the source directory
# outpath - name of the destination directory
# ARGN - a list of relative file names that will be copied
#
# If a relative file name is foo/bar.txt then the foo directory
# part will be removed so that the destination file name will be
# ${outpath}/bar.txt
#
if(BUILD_VERBOSE_GENERATION)
set(fc_details " (fc_target_copy_resource_flat called from ${CMAKE_CURRENT_SOURCE_DIR})")
else()
set(fc_details "")
endif()
foreach(it ${ARGN})
get_filename_component(infile "${inpath}/${it}" ABSOLUTE)
get_filename_component(outfile "${it}" NAME)
get_filename_component(outfile "${outpath}/${outfile}" ABSOLUTE)
add_file_dependencies("${infile}" "${outfile}")
ADD_CUSTOM_COMMAND(
COMMAND "${CMAKE_COMMAND}" -E copy "${infile}" "${outfile}"
OUTPUT "${outfile}"
COMMENT "Copying ${infile} to ${outfile}${fc_details}"
MAIN_DEPENDENCY "${infile}"
)
endforeach(it)
ADD_CUSTOM_COMMAND(
TARGET ${target_name}
DEPENDS ${ARGN}
)
ENDMACRO(fc_target_copy_resource_flat)
macro(copy_to_local_output_paths SOURCE_PATHS)
if(CMAKE_CFG_INTDIR STREQUAL .)
# No Debug/Release output paths
set(DEBUG_LOCAL_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
set(RELEASE_LOCAL_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
else(CMAKE_CFG_INTDIR STREQUAL .)
#set(DEBUG_LOCAL_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/Debug)
#set(RELEASE_LOCAL_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/Release)
set(DEBUG_LOCAL_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
set(RELEASE_LOCAL_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
endif(CMAKE_CFG_INTDIR STREQUAL .)
file(TO_NATIVE_PATH ${SOURCE_PATHS} NATIVE_SOURCE)
file(TO_NATIVE_PATH ${DEBUG_LOCAL_OUTPUT_PATH}/ NATIVE_DEBUG_DESTINATION)
file(TO_NATIVE_PATH ${RELEASE_LOCAL_OUTPUT_PATH}/ NATIVE_RELESE_DESTINATION)
message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_DEBUG_DESTINATION}")
execute_process(
COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_DEBUG_DESTINATION}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
if(NOT ${DEBUG_LOCAL_OUTPUT_PATH} STREQUAL ${RELEASE_LOCAL_OUTPUT_PATH})
message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELESE_DESTINATION}")
execute_process(
COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELESE_DESTINATION}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endif(NOT ${DEBUG_LOCAL_OUTPUT_PATH} STREQUAL ${RELEASE_LOCAL_OUTPUT_PATH})
endmacro(copy_to_local_output_paths)
macro(copy_to_main_output_paths SOURCE_PATHS)
file(TO_NATIVE_PATH ${SOURCE_PATHS} NATIVE_SOURCE)
file(TO_NATIVE_PATH ${DEBUG_MAIN_OUTPUT_PATH}/ NATIVE_DEBUG_DESTINATION)
file(TO_NATIVE_PATH ${RELEASE_MAIN_OUTPUT_PATH}/ NATIVE_RELESE_DESTINATION)
message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_DEBUG_DESTINATION}")
execute_process(
COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_DEBUG_DESTINATION}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
if(NOT ${DEBUG_MAIN_OUTPUT_PATH} STREQUAL ${RELEASE_MAIN_OUTPUT_PATH})
message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELESE_DESTINATION}")
execute_process(
COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELESE_DESTINATION}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endif(NOT ${DEBUG_MAIN_OUTPUT_PATH} STREQUAL ${RELEASE_MAIN_OUTPUT_PATH})
endmacro(copy_to_main_output_paths)
# It would be a bit cleaner to generate these files in ${CMAKE_CURRENT_BINARY_DIR}
macro(generate_from_xml BASE_NAME)
set(TOOL_PATH "${CMAKE_SOURCE_DIR}/src/Tools/generate.py")
file(TO_NATIVE_PATH "${TOOL_PATH}" TOOL_NATIVE_PATH)
file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${BASE_NAME}.xml" SOURCE_NATIVE_PATH)
file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR}/src/Tools/generate.py TOOL_PATH)
file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${BASE_NAME}.xml SOURCE_PATH)
set(SOURCE_CPP_PATH "${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME}.cpp" )
file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME}.cpp SOURCE_CPP_PATH)
# BASE_NAME may include also a path name
GET_FILENAME_COMPONENT(OUTPUT_PATH "${SOURCE_CPP_PATH}" PATH)
file(TO_NATIVE_PATH "${OUTPUT_PATH}" OUTPUT_NATIVE_PATH)
if(NOT EXISTS "${SOURCE_CPP_PATH}")
GET_FILENAME_COMPONENT(OUTPUT_PATH ${SOURCE_CPP_PATH} PATH)
if (NOT EXISTS ${SOURCE_CPP_PATH})
# assures the source files are generated at least once
message(STATUS "${SOURCE_CPP_PATH}")
execute_process(COMMAND "${PYTHON_EXECUTABLE}" "${TOOL_NATIVE_PATH}" --outputPath "${OUTPUT_NATIVE_PATH}" "${SOURCE_NATIVE_PATH}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
execute_process(COMMAND ${PYTHON_EXECUTABLE} ${TOOL_PATH} --outputPath ${OUTPUT_PATH} ${SOURCE_PATH}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
endif()
endif (NOT EXISTS ${SOURCE_CPP_PATH})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME}.h" "${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME}.cpp"
COMMAND ${PYTHON_EXECUTABLE} "${TOOL_NATIVE_PATH}" --outputPath "${OUTPUT_NATIVE_PATH}" ${BASE_NAME}.xml
MAIN_DEPENDENCY "${BASE_NAME}.xml"
DEPENDS
"${CMAKE_SOURCE_DIR}/src/Tools/generateTemplates/templateClassPyExport.py"
"${TOOL_PATH}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Building ${BASE_NAME}.h/.cpp out of ${BASE_NAME}.xml"
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME}.h ${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME}.cpp
COMMAND ${PYTHON_EXECUTABLE} ${TOOL_PATH} --outputPath ${OUTPUT_PATH} ${BASE_NAME}.xml
MAIN_DEPENDENCY ${BASE_NAME}.xml
DEPENDS ${CMAKE_SOURCE_DIR}/src/Tools/generateTemplates/templateClassPyExport.py
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT Building ${BASE_NAME}.h/.cpp out of ${BASE_NAME}.xml
)
endmacro(generate_from_xml)
macro(generate_from_py BASE_NAME OUTPUT_FILE)
set(TOOL_PATH "${CMAKE_SOURCE_DIR}/src/Tools/PythonToCPP.py")
file(TO_NATIVE_PATH "${TOOL_PATH}" TOOL_NATIVE_PATH)
file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${BASE_NAME}.py" SOURCE_NATIVE_PATH)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}"
COMMAND "${PYTHON_EXECUTABLE}" "${TOOL_NATIVE_PATH}" "${SOURCE_NATIVE_PATH}" "${OUTPUT_FILE}"
MAIN_DEPENDENCY "${CMAKE_CURRENT_SOURCE_DIR}/${BASE_NAME}.py"
DEPENDS "${TOOL_PATH}"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building files out of ${BASE_NAME}.py")
file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR}/src/Tools/PythonToCPP.py TOOL_PATH)
file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${BASE_NAME}.py SOURCE_PATH)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}
COMMAND ${PYTHON_EXECUTABLE} ${TOOL_PATH} ${SOURCE_PATH} ${OUTPUT_FILE}
MAIN_DEPENDENCY ${BASE_NAME}.py
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT Building files out of ${BASE_NAME}.py)
endmacro(generate_from_py)
@@ -220,29 +220,25 @@ MACRO(SET_BIN_DIR ProjectName OutputName)
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}${ARGV2})
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}${ARGV2})
set_target_properties(${ProjectName} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}${ARGV2})
set_target_properties(${ProjectName} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}${ARGV2})
set_target_properties(${ProjectName} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}${ARGV2})
else(${ARGC} GREATER 2)
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
set_target_properties(${ProjectName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)
set_target_properties(${ProjectName} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set_target_properties(${ProjectName} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/lib)
set_target_properties(${ProjectName} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/lib)
endif(${ARGC} GREATER 2)
if(WIN32)
set_target_properties(${ProjectName} PROPERTIES DEBUG_OUTPUT_NAME ${OutputName}_d)
else(WIN32)
# FreeCADBase, SMDS, Driver, MEFISTO2 and area-native libs don't depend on parts from CMAKE_INSTALL_LIBDIR
if(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2|area-native)$")
if(${ARGC} STREQUAL 4)
set_property(TARGET ${ProjectName} APPEND PROPERTY INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}${ARGV3})
else(${ARGC} STREQUAL 4)
set_property(TARGET ${ProjectName} APPEND PROPERTY INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR})
endif()
endif()
endif(WIN32)
# FreeCADBase, SMDS, Driver and MEFISTO2 libs don't depend on parts from CMAKE_INSTALL_LIBDIR
if(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2)$")
if(${ARGC} STREQUAL 4)
set_target_properties(${ProjectName} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}${ARGV3})
else(${ARGC} STREQUAL 4)
set_target_properties(${ProjectName} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR})
endif(${ARGC} STREQUAL 4)
endif(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2)$")
endif(WIN32)
ENDMACRO(SET_BIN_DIR)
# Set python prefix & suffix together
@@ -253,8 +249,5 @@ MACRO(SET_PYTHON_PREFIX_SUFFIX ProjectName)
if(WIN32)
set_target_properties(${ProjectName} PROPERTIES SUFFIX ".pyd")
# 0000661: cmake build on Mac OS: dealing with dylib versus so
elseif(APPLE)
set_target_properties(${ProjectName} PROPERTIES SUFFIX ".so")
endif(WIN32)
ENDMACRO(SET_PYTHON_PREFIX_SUFFIX)
-533
View File
@@ -1,533 +0,0 @@
# ================================================================================
# == Win32 is default behaviour use the LibPack copied in Source tree ============
# --------------------------------------------------------------------------------
# General includes
link_directories(${FREECAD_LIBPACK_DIR}/lib)
include_directories(${FREECAD_LIBPACK_DIR}/include)
# OpenGL
set(OPENGL_gl_LIBRARY opengl32 glu32)
# Python
set(PYTHON_LIBRARIES optimized python27.lib debug python27_d.lib)
set(PYTHON_INCLUDE_PATH ${FREECAD_LIBPACK_DIR}/include/Python-2.7.5)
set(PYTHON_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/Python-2.7.5)
set(PYTHON_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe)
set(PYTHONLIBS_FOUND TRUE)
# XercesC
set(XercesC_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/xerces-c-3.1.1)
set(XercesC_LIBRARIES xerces-c_3.lib)
set(XercesC_DEBUG_LIBRARIES xerces-c_3D.lib)
set(XercesC_FOUND TRUE)
# Boost
set(Boost_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/boost-1_55)
set(Boost_LIBRARIES
optimized boost_filesystem-vc110-mt-1_55.lib
optimized boost_system-vc110-mt-1_55.lib
optimized boost_graph-vc110-mt-1_55.lib
optimized boost_program_options-vc110-mt-1_55.lib
optimized boost_python-vc110-mt-1_55.lib
optimized boost_regex-vc110-mt-1_55.lib
optimized boost_signals-vc110-mt-1_55.lib
optimized boost_thread-vc110-mt-1_55.lib
debug boost_filesystem-vc110-mt-gd-1_55.lib
debug boost_system-vc110-mt-gd-1_55.lib
debug boost_graph-vc110-mt-gd-1_55.lib
debug boost_program_options-vc110-mt-gd-1_55.lib
debug boost_python-vc110-mt-gd-1_55.lib
debug boost_regex-vc110-mt-gd-1_55.lib
debug boost_signals-vc110-mt-gd-1_55.lib
debug boost_thread-vc110-mt-gd-1_55.lib
)
set(Boost_FOUND TRUE)
# Zlib
set(ZLIB_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/zlib-1.2.7)
set(ZLIB_LIBRARIES zlib.lib)
set(ZLIB_FOUND TRUE)
# SMESH
#set(SMESH_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/smesh)
#set(SMESH_LIBRARIES
# StdMeshers.lib
# MEFISTO2.lib
# SMESH.lib
# DriverUNV.lib
# SMESHDS.lib
# DriverSTL.lib
# DriverDAT.lib
# Driver.lib
# SMDS.lib
#)
set(SMESH_FOUND TRUE)
# Coin3D
find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
${FREECAD_LIBPACK_DIR}/include/Coin-4.0.0
)
find_library(COIN3D_LIBRARY_RELEASE coin4
"${FREECAD_LIBPACK_DIR}/lib"
)
find_library(COIN3D_LIBRARY_DEBUG coin4d
"${FREECAD_LIBPACK_DIR}/lib"
)
set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
set(COIN3D_FOUND TRUE)
# QT
set(QT_INCLUDE_DIR
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/Qt
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtCore
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtGui
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtDesigner
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtSvg
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtNetwork
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtSql
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtTest
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtUiTools
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtXml
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtOpenGl
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtWebKit
)
set(QT_QTCORE_INCLUDE_DIR
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/QtCore
)
set(QT_QT3SUPPORT_INCLUDE_DIR
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.6/Qt3Support
)
set(QT_LIBRARIES
optimized QtCore4.lib
optimized QtGui4.lib
optimized QtDesigner4.lib
optimized QtSvg4.lib
optimized QtNetwork4.lib
optimized QtSql4.lib
optimized QtTest4.lib
optimized QtXml4.lib
optimized QtOpenGl4.lib
optimized QtWebKit4.lib
debug QtCored4.lib
debug QtGuid4.lib
debug QtDesignerd4.lib
debug QtSvgd4.lib
debug QtNetworkd4.lib
debug QtSqld4.lib
debug QtTestd4.lib
debug QtXmld4.lib
debug QtOpenGld4.lib
debug QtWebKitd4.lib
)
set(QT_QTCORE_LIBRARY
optimized QtCore4.lib debug QtCored4.lib
)
set(QT_QTXML_LIBRARY
optimized QtXml4.lib debug QtXmld4.lib
)
set(QT_QT3SUPPORT_LIBRARY
optimized Qt3Support4.lib debug Qt3Supportd4.lib
)
set(QT_QTUITOOLS_LIBRARY
optimized QtUiTools.lib debug QtUiToolsd.lib
)
set(QT_QTMAIN_LIBRARY
debug qtmaind.lib optimized qtmain.lib
)
set(QT_UIC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/uic.exe)
set(QT_MOC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/moc.exe)
set(QT_RCC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/rcc.exe)
set(QT_HELPCOMPILER_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/qhelpgenerator.exe)
set(QT_COLLECTIOMGENERATOR_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/qcollectiongenerator.exe)
MACRO (QT4_EXTRACT_OPTIONS _qt4_files _qt4_options)
SET(${_qt4_files})
SET(${_qt4_options})
#SET(_QT4_DOING_OPTIONS FALSE)
FOREACH(_currentArg ${ARGN})
# IF ("${_currentArg}" STREQUAL "OPTIONS")
# SET(_QT4_DOING_OPTIONS TRUE)
# ELSE ("${_currentArg}" STREQUAL "OPTIONS")
# IF(_QT4_DOING_OPTIONS)
# LIST(APPEND ${_qt4_options} "${_currentArg}")
# ELSE(_QT4_DOING_OPTIONS)
LIST(APPEND ${_qt4_files} "${_currentArg}")
# ENDIF(_QT4_DOING_OPTIONS)
# ENDIF ("${_currentArg}" STREQUAL "OPTIONS")
ENDFOREACH(_currentArg)
ENDMACRO (QT4_EXTRACT_OPTIONS)
# macro used to create the names of output files preserving relative dirs
MACRO (QT4_MAKE_OUTPUT_FILE infile prefix ext outfile )
STRING(LENGTH ${CMAKE_CURRENT_BINARY_DIR} _binlength)
STRING(LENGTH ${infile} _infileLength)
SET(_checkinfile ${CMAKE_CURRENT_SOURCE_DIR})
IF(_infileLength GREATER _binlength)
STRING(SUBSTRING "${infile}" 0 ${_binlength} _checkinfile)
IF(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_BINARY_DIR} ${infile})
ELSE(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
ENDIF(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
ELSE(_infileLength GREATER _binlength)
FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
ENDIF(_infileLength GREATER _binlength)
SET(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
STRING(REPLACE ".." "__" _outfile ${_outfile})
GET_FILENAME_COMPONENT(outpath ${_outfile} PATH)
GET_FILENAME_COMPONENT(_outfile ${_outfile} NAME_WE)
FILE(MAKE_DIRECTORY ${outpath})
SET(${outfile} ${outpath}/${prefix}${_outfile}.${ext})
ENDMACRO (QT4_MAKE_OUTPUT_FILE )
MACRO (QT4_WRAP_CPP outfiles )
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
SET(ARGN)
foreach(it ${moc_files})
get_filename_component(it ${it} ABSOLUTE)
QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${QT_MOC_EXECUTABLE}
ARGS ${moc_options} ${it} -o ${outfile}
MAIN_DEPENDENCY ${it}
)
SET(${outfiles} ${${outfiles}} ${outfile})
endforeach(it)
ENDMACRO (QT4_WRAP_CPP)
# This is a special version of the built in macro qt4_wrap_cpp
# It is required since moc'ed files are now included instead of being added to projects directly
# It adds a reverse dependency to solve this
# This has the unfortunate side effect that some files are always rebuilt
# There is probably a cleaner solution than this
include(AddFileDependencies)
macro(fc_wrap_cpp outfiles )
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
# fixes bug 0000585: bug with boost 1.48
SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
SET(ARGN)
foreach(it ${moc_files})
get_filename_component(it ${it} ABSOLUTE)
QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${QT_MOC_EXECUTABLE}
ARGS ${moc_options} ${it} -o ${outfile}
MAIN_DEPENDENCY ${it}
)
SET(${outfiles} ${${outfiles}} ${outfile})
add_file_dependencies(${it} ${outfile})
endforeach(it)
endmacro(fc_wrap_cpp)
MACRO (QT4_ADD_RESOURCES outfiles )
QT4_EXTRACT_OPTIONS(rcc_files rcc_options ${ARGN})
SET(ARGN)
FOREACH (it ${rcc_files})
GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
GET_FILENAME_COMPONENT(rc_path ${infile} PATH)
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cxx)
# parse file for dependencies
# all files are absolute paths or relative to the location of the qrc file
FILE(READ "${infile}" _RC_FILE_CONTENTS)
STRING(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
SET(_RC_DEPENDS)
FOREACH(_RC_FILE ${_RC_FILES})
STRING(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
STRING(REGEX MATCH "^/|([A-Za-z]:/)" _ABS_PATH_INDICATOR "${_RC_FILE}")
IF(NOT _ABS_PATH_INDICATOR)
SET(_RC_FILE "${rc_path}/${_RC_FILE}")
ENDIF(NOT _ABS_PATH_INDICATOR)
SET(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
ENDFOREACH(_RC_FILE)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${QT_RCC_EXECUTABLE}
ARGS ${rcc_options} -name ${outfilename} -o ${outfile} ${infile}
MAIN_DEPENDENCY ${infile}
DEPENDS ${_RC_DEPENDS})
SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH (it)
ENDMACRO (QT4_ADD_RESOURCES)
MACRO (QT4_WRAP_UI outfiles )
QT4_EXTRACT_OPTIONS(ui_files ui_options ${ARGN})
FOREACH (it ${ui_files})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${QT_UIC_EXECUTABLE}
ARGS -o ${outfile} ${infile}
MAIN_DEPENDENCY ${infile})
SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH (it)
ENDMACRO (QT4_WRAP_UI)
set(QT4_FOUND TRUE)
# SoQt
set(SOQT_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/SoQt-1.6.0)
set(SOQT_LIBRARY_RELEASE soqt1.lib)
set(SOQT_LIBRARY_DEBUG soqt1d.lib)
set(SOQT_FOUND TRUE)
# OpenCV
set(OPENCV2_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/opencv)
set(OPENCV2_LIBRARIES
optimized opencv_calib3d249.lib
debug opencv_calib3d249d.lib
optimized opencv_contrib249.lib
debug opencv_contrib249d.lib
optimized opencv_core249.lib
debug opencv_core249d.lib
optimized opencv_features2d249.lib
debug opencv_features2d249d.lib
optimized opencv_flann249.lib
debug opencv_flann249d.lib
optimized opencv_gpu249.lib
debug opencv_gpu249d.lib
optimized opencv_highgui249.lib
debug opencv_highgui249d.lib
optimized opencv_imgproc249.lib
debug opencv_imgproc249d.lib
optimized opencv_legacy249.lib
debug opencv_legacy249d.lib
optimized opencv_ml249.lib
debug opencv_ml249d.lib
optimized opencv_nonfree249.lib
debug opencv_nonfree249d.lib
optimized opencv_objdetect249.lib
debug opencv_objdetect249d.lib
optimized opencv_ocl249.lib
debug opencv_ocl249d.lib
optimized opencv_photo249.lib
debug opencv_photo249d.lib
optimized opencv_stitching249.lib
debug opencv_stitching249d.lib
optimized opencv_superres249.lib
debug opencv_superres249d.lib
optimized opencv_ts249.lib
debug opencv_ts249d.lib
optimized opencv_video249.lib
debug opencv_video249d.lib
optimized opencv_videostab249.lib
debug opencv_videostab249d.lib
)
set(OPENCV2_FOUND TRUE)
# NGLIB (NetGen)
set(NGLIB_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/nglib/include)
set(NGLIB_LIBRARY_DIR
${FREECAD_LIBPACK_DIR}/lib
)
set(NGLIB_LIBRARIES
optimized nglib
)
set(NGLIB_DEBUG_LIBRARIES
debug nglibd
)
# Pointscloud library
set(PCL_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/pcl-1.7)
set(PCL_LIBRARY_DIRS ${FREECAD_LIBPACK_DIR}/lib)
set(PCL_COMMON_LIBRARIES optimized pcl_common_release debug pcl_common_debug)
set(PCL_FEATURES_LIBRARIES optimized pcl_features_release debug pcl_features_debug)
set(PCL_FILTERS_LIBRARIES optimized pcl_filters_release debug pcl_filters_debug)
set(PCL_IO_LIBRARIES optimized pcl_io_release debug pcl_io_debug)
set(PCL_IO_PLY_LIBRARIES optimized pcl_io_ply_release debug pcl_io_ply_debug)
set(PCL_KDTREE_LIBRARIES optimized pcl_kdtree_release debug pcl_kdtree_debug)
set(PCL_KEYPOINTS_LIBRARIES optimized pcl_keypoints_release debug pcl_keypoints_debug)
set(PCL_ML_LIBRARIES optimized pcl_ml_release debug pcl_ml_debug)
set(PCL_OCTREE_LIBRARIES optimized pcl_octree_release debug pcl_octree_debug)
set(PCL_RECOGNITION_LIBRARIES optimized pcl_recognition_release debug pcl_recognition_debug)
set(PCL_REGISTRATION_LIBRARIES optimized pcl_registration_release debug pcl_registration_debug)
set(PCL_SAMPLE_CONSENSUS_LIBRARIES optimized pcl_sample_consensus_release debug pcl_sample_consensus_debug)
set(PCL_SEARCH_LIBRARIES optimized pcl_search_release debug pcl_search_debug)
set(PCL_SEGMENTATION_LIBRARIES optimized pcl_segmentation_release debug pcl_segmentation_debug)
set(PCL_STEREO_LIBRARIES optimized pcl_stereo_release debug pcl_stereo_debug)
set(PCL_SURFACE_LIBRARIES optimized pcl_surface_release debug pcl_surface_debug)
set(PCL_TRACKING_LIBRARIES optimized pcl_tracking_release debug pcl_tracking_debug)
set(PCL_LIBRARIES
${PCL_COMMON_LIBRARIES}
${PCL_FEATURES_LIBRARIES}
${PCL_FILTERS_LIBRARIES}
${PCL_IO_LIBRARIES}
${PCL_IO_PLY_LIBRARIES}
${PCL_KDTREE_LIBRARIES}
${PCL_KEYPOINTS_LIBRARIES}
${PCL_ML_LIBRARIES}
${PCL_OCTREE_LIBRARIES}
${PCL_RECOGNITION_LIBRARIES}
${PCL_REGISTRATION_LIBRARIES}
${PCL_SAMPLE_CONSENSUS_LIBRARIES}
${PCL_SEARCH_LIBRARIES}
${PCL_SEGMENTATION_LIBRARIES}
${PCL_STEREO_LIBRARIES}
${PCL_SURFACE_LIBRARIES}
${PCL_TRACKING_LIBRARIES}
)
set(PCL_FOUND TRUE)
set(PCL_COMMON_FOUND TRUE)
set(PCL_FEATURES_FOUND TRUE)
set(PCL_FILTERS_FOUND TRUE)
set(PCL_IO_FOUND TRUE)
set(PCL_IO_PLY_FOUND TRUE)
set(PCL_KDTREE_FOUND TRUE)
set(PCL_KEYPOINTS_FOUND TRUE)
set(PCL_ML_FOUND TRUE)
set(PCL_OCTREE_FOUND TRUE)
set(PCL_RECOGNITION_FOUND TRUE)
set(PCL_REGISTRATION_FOUND TRUE)
set(PCL_SAMPLE_CONSENSUS_FOUND TRUE)
set(PCL_SEARCH_FOUND TRUE)
set(PCL_SEGMENTATION_FOUND TRUE)
set(PCL_STEREO_FOUND TRUE)
set(PCL_SURFACE_FOUND TRUE)
set(PCL_TRACKING_FOUND TRUE)
set(FLANN_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/flann-1.8)
set(OCC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/oce-0.15)
set(OCC_LIBRARY_DIR ${FREECAD_LIBPACK_DIR}/lib)
set(OCC_LIBRARIES
optimized TKFillet
optimized TKMesh
optimized TKernel
optimized TKG2d
optimized TKG3d
optimized TKMath
optimized TKIGES
optimized TKSTL
optimized TKShHealing
optimized TKXSBase
optimized TKBin
optimized TKBool
optimized TKBO
optimized TKBRep
optimized TKTopAlgo
optimized TKGeomAlgo
optimized TKGeomBase
optimized TKOffset
optimized TKPrim
optimized TKSTEP
optimized TKSTEPBase
optimized TKSTEPAttr
optimized TKHLR
optimized TKFeat
)
set(OCC_DEBUG_LIBRARIES
debug TKFilletd
debug TKMeshd
debug TKerneld
debug TKG2dd
debug TKG3dd
debug TKMathd
debug TKIGESd
debug TKSTLd
debug TKShHealingd
debug TKXSBased
debug TKBind
debug TKBoold
debug TKBOd
debug TKBRepd
debug TKTopAlgod
debug TKGeomAlgod
debug TKGeomBased
debug TKOffsetd
debug TKPrimd
debug TKSTEPd
debug TKSTEPBased
debug TKSTEPAttrd
debug TKHLRd
debug TKFeatd
)
set(OCC_OCAF_LIBRARIES
optimized TKCAF
optimized TKXCAF
optimized TKLCAF
optimized TKXDESTEP
optimized TKXDEIGES
optimized TKMeshVS
optimized TKAdvTools
)
set(OCC_OCAF_DEBUG_LIBRARIES
debug TKCAFd
debug TKXCAFd
debug TKLCAFd
debug TKXDESTEPd
debug TKXDEIGESd
debug TKMeshVSd
debug TKAdvToolsd
)
set(OCC_FOUND TRUE)
set(EIGEN3_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/eigen3)
set(EIGEN3_FOUND TRUE)
# FreeType
if(FREECAD_USE_FREETYPE)
set(FREETYPE_LIBRARIES
optimized ${FREECAD_LIBPACK_DIR}/lib/freetype.lib
debug ${FREECAD_LIBPACK_DIR}/lib/freetyped.lib
)
set(FREETYPE_INCLUDE_DIRS
${FREECAD_LIBPACK_DIR}/include/FreeType-2.4.12
)
set(FREETYPE_VERSION_STRING
"2.4.12"
)
set(FREETYPE_FOUND
TRUE
)
endif(FREECAD_USE_FREETYPE)
# SHIBOKEN_INCLUDE_DIR - Directories to include to use SHIBOKEN
# SHIBOKEN_LIBRARY - Files to link against to use SHIBOKEN
# SHIBOKEN_BINARY - Executable name
SET(SHIBOKEN_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/shiboken-1.2.2)
SET(SHIBOKEN_LIBRARY optimized ${FREECAD_LIBPACK_DIR}/lib/shiboken-python2.7.lib debug ${FREECAD_LIBPACK_DIR}/lib/shiboken-python2.7_d.lib)
set(SHIBOKEN_BINARY ${FREECAD_LIBPACK_DIR}/bin/shiboken)
# PYSIDE_INCLUDE_DIR - Directories to include to use PySide
# PYSIDE_LIBRARY - Files to link against to use PySide
# PYSIDE_PYTHONPATH - Path to where the PySide Python module files could be found
# PYSIDE_TYPESYSTEMS - Type system files that should be used by other bindings extending PySide
SET(PYSIDE_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/PySide-1.2.2)
SET(PYSIDE_LIBRARY optimized ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.7.lib debug ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.7_d.lib)
SET(PYSIDE_PYTHONPATH ${FREECAD_LIBPACK_DIR}/pyside/Lib/site-packages)
SET(PYSIDE_TYPESYSTEMS ${FREECAD_LIBPACK_DIR}/pyside/share/PySide/typesystems)
+20 -28
View File
@@ -11,17 +11,17 @@ include_directories(${FREECAD_LIBPACK_DIR}/include)
set(OPENGL_gl_LIBRARY opengl32 glu32)
# Python
set(PYTHON_LIBRARIES optimized python25.lib debug python25_d.lib)
set(PYTHON_DEBUG_LIBRARY python25_d.lib)
set(PYTHON_LIBRARY python25.lib)
set(PYTHON_INCLUDE_PATH ${FREECAD_LIBPACK_DIR}/include/python)
set(PYTHON_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/python)
set(PYTHON_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe)
set(PYTHONLIBS_FOUND TRUE)
# XercesC
set(XercesC_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/xercesc)
set(XercesC_LIBRARIES xerces-c_2.lib)
set(XercesC_DEBUG_LIBRARIES xerces-c_2D.lib)
set(XercesC_FOUND TRUE)
set(XERCESC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/xercesc)
set(XERCESC_LIBRARIES xerces-c_2.lib)
set(XERCESC_DEBUG_LIBRARIES xerces-c_2D.lib)
set(XERCESC_FOUND TRUE)
# Boost
set(Boost_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/boost)
@@ -29,13 +29,13 @@ set(Boost_LIBRARIES
optimized boost_filesystem-vc80-mt.lib
#optimized boost_graph-vc80-mt.lib
optimized boost_program_options-vc80-mt.lib
optimized boost_python-vc80-mt.lib
optimized boost_regex-vc80-mt.lib
optimized boost_signals-vc80-mt.lib
)
set(Boost_DEBUG_LIBRARIES
debug boost_filesystem-vc80-mt-gd.lib
#debug boost_graph-vc80-mt-gd.lib
debug boost_program_options-vc80-mt-gd.lib
debug boost_python-vc80-mt-gd.lib
debug boost_regex-vc80-mt-gd.lib
debug boost_signals-vc80-mt-gd.lib
)
@@ -63,11 +63,9 @@ set(SMESH_LIBRARIES
set(SMESH_FOUND TRUE)
# Coin3D
set(COIN3D_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/coin)
set(COIN3D_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/coin)
set(COIN3D_LIBRARY_DEBUG coin2d.lib)
set(COIN3D_LIBRARY_RELEASE coin2.lib)
set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
set(COIN3D_FOUND TRUE)
@@ -104,6 +102,8 @@ set(QT_LIBRARIES
optimized QtXml4.lib
optimized QtOpenGl4.lib
optimized QtWebKit4.lib
)
set(QT_DEBUG_LIBRARIES
debug QtCored4.lib
debug QtGuid4.lib
debug QtDesignerd4.lib
@@ -116,24 +116,12 @@ set(QT_LIBRARIES
debug QtWebKitd4.lib
)
set(QT_QTCORE_LIBRARY_DEBUG
debug QtCored4.lib
)
set(QT_QTCORE_LIBRARY
optimized QtCore4.lib
debug QtCored4.lib
)
set(QT_QTXML_LIBRARY
optimized QtXml4.lib
debug QtXmld4.lib
)
set(QT_QTUITOOLS_LIBRARY
optimized QtUiTools.lib
debug QtUiToolsd.lib
)
set(QT_QTMAIN_LIBRARY
debug qtmaind.lib
optimized qtmain.lib
)
set(QT_UIC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/uic.exe)
@@ -284,6 +272,11 @@ set(OPENCV_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/opencv)
set(OPENCV_LIBRARIES cv.lib cvaux.lib cxcore.lib cxts.lib highgui.lib)
set(OPENCV_FOUND TRUE)
# ODE
set(ODE_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include)
set(ODE_LIBRARIES ode_double.lib)
set(ODE_FOUND TRUE)
# OCC
set(OCC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/OpenCascade)
set(OCC_LIBRARY_DIR
@@ -300,7 +293,6 @@ set(OCC_LIBRARIES
TKSTL
TKShHealing
TKXSBase
TKBin
TKBool
TKBO
TKBRep
+15 -28
View File
@@ -11,17 +11,17 @@ include_directories(${FREECAD_LIBPACK_DIR}/include)
set(OPENGL_gl_LIBRARY opengl32 glu32)
# Python
set(PYTHON_LIBRARIES optimized python26.lib debug python26_d.lib)
set(PYTHON_DEBUG_LIBRARY python26_d.lib)
set(PYTHON_LIBRARY python26.lib)
set(PYTHON_INCLUDE_PATH ${FREECAD_LIBPACK_DIR}/include/python)
set(PYTHON_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/python)
set(PYTHON_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe)
set(PYTHONLIBS_FOUND TRUE)
# XercesC
set(XercesC_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/xercesc)
set(XercesC_LIBRARIES xerces-c_2.lib)
set(XercesC_DEBUG_LIBRARIES xerces-c_2D.lib)
set(XercesC_FOUND TRUE)
set(XERCESC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/xercesc)
set(XERCESC_LIBRARIES xerces-c_2.lib)
set(XERCESC_DEBUG_LIBRARIES xerces-c_2D.lib)
set(XERCESC_FOUND TRUE)
# Boost
set(Boost_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/boost)
@@ -30,10 +30,11 @@ set(Boost_LIBRARIES
optimized boost_system-vc90-mt-1_39.lib
optimized boost_graph-vc90-mt-1_39.lib
optimized boost_program_options-vc90-mt-1_39.lib
optimized boost_python-vc90-mt-1_39.lib
optimized boost_regex-vc90-mt-1_39.lib
optimized boost_signals-vc90-mt-1_39.lib
optimized boost_thread-vc90-mt-1_39.lib
)
set(Boost_DEBUG_LIBRARIES
debug boost_filesystem-vc90-mt-gd-1_39.lib
debug boost_date_time-vc90-mt-gd-1_39.lib
debug boost_filesystem-vc90-mt-gd-1_39.lib
@@ -44,7 +45,6 @@ set(Boost_LIBRARIES
debug boost_system-vc90-mt-gd-1_39.lib
debug boost_graph-vc90-mt-gd-1_39.lib
debug boost_program_options-vc90-mt-gd-1_39.lib
debug boost_python-vc90-mt-gd-1_39.lib
debug boost_regex-vc90-mt-gd-1_39.lib
debug boost_signals-vc90-mt-gd-1_39.lib
)
@@ -72,11 +72,9 @@ set(SMESH_LIBRARIES
set(SMESH_FOUND TRUE)
# Coin3D
set(COIN3D_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/coin)
set(COIN3D_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/coin)
set(COIN3D_LIBRARY_DEBUG coin3d.lib)
set(COIN3D_LIBRARY_RELEASE coin3.lib)
set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
set(COIN3D_FOUND TRUE)
@@ -113,6 +111,8 @@ set(QT_LIBRARIES
optimized QtXml4.lib
optimized QtOpenGl4.lib
optimized QtWebKit4.lib
)
set(QT_DEBUG_LIBRARIES
debug QtCored4.lib
debug QtGuid4.lib
debug QtDesignerd4.lib
@@ -125,24 +125,12 @@ set(QT_LIBRARIES
debug QtWebKitd4.lib
)
set(QT_QTCORE_LIBRARY_DEBUG
debug QtCored4.lib
)
set(QT_QTCORE_LIBRARY
optimized QtCore4.lib
debug QtCored4.lib
)
set(QT_QTXML_LIBRARY
optimized QtXml4.lib
debug QtXmld4.lib
)
set(QT_QTUITOOLS_LIBRARY
optimized QtUiTools.lib
debug QtUiToolsd.lib
)
set(QT_QTMAIN_LIBRARY
debug qtmaind.lib
optimized qtmain.lib
)
set(QT_UIC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/uic.exe)
@@ -311,7 +299,6 @@ set(OCC_LIBRARIES
TKSTL
TKShHealing
TKXSBase
TKBin
TKBool
TKBO
TKBRep
+15 -29
View File
@@ -11,17 +11,17 @@ include_directories(${FREECAD_LIBPACK_DIR}/include)
set(OPENGL_gl_LIBRARY opengl32 glu32)
# Python
set(PYTHON_LIBRARIES optimized python26.lib debug python26_d.lib)
set(PYTHON_DEBUG_LIBRARY python26_d.lib)
set(PYTHON_LIBRARY python26.lib)
set(PYTHON_INCLUDE_PATH ${FREECAD_LIBPACK_DIR}/include/python)
set(PYTHON_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/python)
set(PYTHON_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe)
set(PYTHONLIBS_FOUND TRUE)
# XercesC
set(XercesC_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/xercesc)
set(XercesC_LIBRARIES xerces-c_2.lib)
set(XercesC_DEBUG_LIBRARIES xerces-c_2D.lib)
set(XercesC_FOUND TRUE)
set(XERCESC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/xercesc)
set(XERCESC_LIBRARIES xerces-c_2.lib)
set(XERCESC_DEBUG_LIBRARIES xerces-c_2D.lib)
set(XERCESC_FOUND TRUE)
# Boost
set(Boost_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/boost)
@@ -30,10 +30,11 @@ set(Boost_LIBRARIES
optimized boost_system-vc90-mt-1_48.lib
optimized boost_graph-vc90-mt-1_48.lib
optimized boost_program_options-vc90-mt-1_48.lib
optimized boost_python-vc90-mt-1_48.lib
optimized boost_regex-vc90-mt-1_48.lib
optimized boost_signals-vc90-mt-1_48.lib
optimized boost_thread-vc90-mt-1_48.lib
)
set(Boost_DEBUG_LIBRARIES
debug boost_filesystem-vc90-mt-gd-1_48.lib
debug boost_date_time-vc90-mt-gd-1_48.lib
debug boost_filesystem-vc90-mt-gd-1_48.lib
@@ -44,7 +45,6 @@ set(Boost_LIBRARIES
debug boost_system-vc90-mt-gd-1_48.lib
debug boost_graph-vc90-mt-gd-1_48.lib
debug boost_program_options-vc90-mt-gd-1_48.lib
debug boost_python-vc90-mt-gd-1_48.lib
debug boost_regex-vc90-mt-gd-1_48.lib
debug boost_signals-vc90-mt-gd-1_48.lib
)
@@ -84,11 +84,9 @@ set(ZLIB_FOUND TRUE)
#set(SMESH_FOUND TRUE)
# Coin3D
set(COIN3D_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/coin)
set(COIN3D_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/coin)
set(COIN3D_LIBRARY_DEBUG coin3d.lib)
set(COIN3D_LIBRARY_RELEASE coin3.lib)
set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
set(COIN3D_FOUND TRUE)
@@ -125,6 +123,8 @@ set(QT_LIBRARIES
optimized QtXml4.lib
optimized QtOpenGl4.lib
optimized QtWebKit4.lib
)
set(QT_DEBUG_LIBRARIES
debug QtCored4.lib
debug QtGuid4.lib
debug QtDesignerd4.lib
@@ -137,24 +137,12 @@ set(QT_LIBRARIES
debug QtWebKitd4.lib
)
set(QT_QTCORE_LIBRARY_DEBUG
debug QtCored4.lib
)
set(QT_QTCORE_LIBRARY
optimized QtCore4.lib
debug QtCored4.lib
)
set(QT_QTXML_LIBRARY
optimized QtXml4.lib
debug QtXmld4.lib
)
set(QT_QTUITOOLS_LIBRARY
optimized QtUiTools.lib
debug QtUiToolsd.lib
)
set(QT_QTMAIN_LIBRARY
debug qtmaind.lib
optimized qtmain.lib
)
set(QT_UIC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/uic.exe)
@@ -356,7 +344,6 @@ set(OCC_LIBRARIES
optimized TKSTL
optimized TKShHealing
optimized TKXSBase
optimized TKBin
optimized TKBool
optimized TKXSBase
optimized TKBO
@@ -392,7 +379,6 @@ set(OCC_DEBUG_LIBRARIES
debug TKSTLd
debug TKShHealingd
debug TKXSBased
debug TKBind
debug TKBoold
debug TKXSBased
debug TKBOd
+31 -88
View File
@@ -11,17 +11,17 @@ include_directories(${FREECAD_LIBPACK_DIR}/include)
set(OPENGL_gl_LIBRARY opengl32 glu32)
# Python
set(PYTHON_LIBRARIES optimized python27.lib debug python27_d.lib)
set(PYTHON_DEBUG_LIBRARY python27_d.lib)
set(PYTHON_LIBRARY python27.lib)
set(PYTHON_INCLUDE_PATH ${FREECAD_LIBPACK_DIR}/include/Python-2.7.6)
set(PYTHON_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/Python-2.7.6)
set(PYTHON_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe)
set(PYTHONLIBS_FOUND TRUE)
# XercesC
set(XercesC_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/xerces-c-3.1.0)
set(XercesC_LIBRARIES xerces-c_3.lib)
set(XercesC_DEBUG_LIBRARIES xerces-c_3D.lib)
set(XercesC_FOUND TRUE)
set(XERCESC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/xerces-c-3.1.0)
set(XERCESC_LIBRARIES xerces-c_3.lib)
set(XERCESC_DEBUG_LIBRARIES xerces-c_3D.lib)
set(XERCESC_FOUND TRUE)
# Boost
set(Boost_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/boost-1_54)
@@ -30,15 +30,15 @@ set(Boost_LIBRARIES
optimized boost_system-vc90-mt-1_54.lib
optimized boost_graph-vc90-mt-1_54.lib
optimized boost_program_options-vc90-mt-1_54.lib
optimized boost_python-vc90-mt-1_54.lib
optimized boost_regex-vc90-mt-1_54.lib
optimized boost_signals-vc90-mt-1_54.lib
optimized boost_thread-vc90-mt-1_54.lib
)
set(Boost_DEBUG_LIBRARIES
debug boost_filesystem-vc90-mt-gd-1_54.lib
debug boost_system-vc90-mt-gd-1_54.lib
debug boost_graph-vc90-mt-gd-1_54.lib
debug boost_program_options-vc90-mt-gd-1_54.lib
debug boost_python-vc90-mt-gd-1_54.lib
debug boost_regex-vc90-mt-gd-1_54.lib
debug boost_signals-vc90-mt-gd-1_54.lib
debug boost_thread-vc90-mt-gd-1_54.lib
@@ -67,17 +67,24 @@ set(SMESH_LIBRARIES
set(SMESH_FOUND TRUE)
# Coin3D
find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
find_path(COIN3D_INCLUDE_DIR Inventor/So.h
${FREECAD_LIBPACK_DIR}/include/Coin-2.4.5
)
find_path(COIN3D_INCLUDE_DIR Inventor/So.h
${FREECAD_LIBPACK_DIR}/include/Coin-4.0.0
)
find_library(COIN3D_LIBRARY_RELEASE coin2
"${FREECAD_LIBPACK_DIR}/lib"
)
find_library(COIN3D_LIBRARY_DEBUG coin2d
"${FREECAD_LIBPACK_DIR}/lib"
)
find_library(COIN3D_LIBRARY_RELEASE coin4
"${FREECAD_LIBPACK_DIR}/lib"
)
find_library(COIN3D_LIBRARY_DEBUG coin4d
"${FREECAD_LIBPACK_DIR}/lib"
)
set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
set(COIN3D_FOUND TRUE)
@@ -104,10 +111,6 @@ set(QT_QTCORE_INCLUDE_DIR
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtCore
)
set(QT_QTXML_INCLUDE_DIR
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/QtXml
)
set(QT_QT3SUPPORT_INCLUDE_DIR
${FREECAD_LIBPACK_DIR}/include/Qt-4.8.5/Qt3Support
)
@@ -123,6 +126,8 @@ set(QT_LIBRARIES
optimized QtXml4.lib
optimized QtOpenGl4.lib
optimized QtWebKit4.lib
)
set(QT_DEBUG_LIBRARIES
debug QtCored4.lib
debug QtGuid4.lib
debug QtDesignerd4.lib
@@ -135,29 +140,20 @@ set(QT_LIBRARIES
debug QtWebKitd4.lib
)
set(QT_QTCORE_LIBRARY
optimized QtCore4.lib
set(QT_QTCORE_LIBRARY_DEBUG
debug QtCored4.lib
)
set(QT_QTXML_LIBRARY
optimized QtXml4.lib
debug QtXmld4.lib
set(QT_QTCORE_LIBRARY
optimized QtCore4.lib
)
set(QT_QT3SUPPORT_LIBRARY_DEBUG
debug Qt3Supportd4.lib
)
set(QT_QT3SUPPORT_LIBRARY
optimized Qt3Support4.lib
debug Qt3Supportd4.lib
)
set(QT_QTUITOOLS_LIBRARY
optimized QtUiTools.lib
debug QtUiToolsd.lib
)
set(QT_QTMAIN_LIBRARY
debug qtmaind.lib
optimized qtmain.lib
)
set(QT_UIC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/uic.exe)
@@ -371,7 +367,6 @@ set(OCC_LIBRARIES
optimized TKSTL
optimized TKShHealing
optimized TKXSBase
optimized TKBin
optimized TKBool
optimized TKBO
optimized TKBRep
@@ -397,7 +392,6 @@ set(OCC_DEBUG_LIBRARIES
debug TKSTLd
debug TKShHealingd
debug TKXSBased
debug TKBind
debug TKBoold
debug TKBOd
debug TKBRepd
@@ -438,6 +432,10 @@ set(EIGEN2_FOUND TRUE)
set(EIGEN3_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/eigen3)
set(EIGEN3_FOUND TRUE)
set(ODE_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/ode-0.11.1)
set(ODE_LIBRARIES ${FREECAD_LIBPACK_DIR}/lib/ode_double.lib)
set(ODE_FOUND TRUE)
# FreeType
if(FREECAD_USE_FREETYPE)
set(FREETYPE_LIBRARIES
@@ -473,58 +471,3 @@ SET(PYSIDE_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/PySide-1.2.1)
SET(PYSIDE_LIBRARY optimized ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.7.lib debug ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.7_d.lib)
SET(PYSIDE_PYTHONPATH ${FREECAD_LIBPACK_DIR}/pyside/Lib/site-packages)
SET(PYSIDE_TYPESYSTEMS ${FREECAD_LIBPACK_DIR}/pyside/share/PySide/typesystems)
SET(PYSIDE_BIN_DIR ${FREECAD_LIBPACK_DIR}/pyside-tools/bin)
# Pointscloud library
set(PCL_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/pcl-1.6)
set(PCL_LIBRARY_DIRS ${FREECAD_LIBPACK_DIR}/lib)
set(PCL_COMMON_LIBRARIES optimized pcl_common_release debug pcl_common_debug)
set(PCL_FEATURES_LIBRARIES optimized pcl_features_release debug pcl_features_debug)
set(PCL_FILTERS_LIBRARIES optimized pcl_filters_release debug pcl_filters_debug)
set(PCL_IO_LIBRARIES optimized pcl_io_release debug pcl_io_debug)
set(PCL_IO_PLY_LIBRARIES optimized pcl_io_ply_release debug pcl_io_ply_debug)
set(PCL_KDTREE_LIBRARIES optimized pcl_kdtree_release debug pcl_kdtree_debug)
set(PCL_KEYPOINTS_LIBRARIES optimized pcl_keypoints_release debug pcl_keypoints_debug)
set(PCL_OCTREE_LIBRARIES optimized pcl_octree_release debug pcl_octree_debug)
set(PCL_REGISTRATION_LIBRARIES optimized pcl_registration_release debug pcl_registration_debug)
set(PCL_SAMPLE_CONSENSUS_LIBRARIES optimized pcl_sample_consensus_release debug pcl_sample_consensus_debug)
set(PCL_SEARCH_LIBRARIES optimized pcl_search_release debug pcl_search_debug)
set(PCL_SEGMENTATION_LIBRARIES optimized pcl_segmentation_release debug pcl_segmentation_debug)
set(PCL_SURFACE_LIBRARIES optimized pcl_surface_release debug pcl_surface_debug)
set(PCL_TRACKING_LIBRARIES optimized pcl_tracking_release debug pcl_tracking_debug)
set(PCL_LIBRARIES
${PCL_COMMON_LIBRARIES}
${PCL_FEATURES_LIBRARIES}
${PCL_FILTERS_LIBRARIES}
${PCL_IO_LIBRARIES}
${PCL_IO_PLY_LIBRARIES}
${PCL_KDTREE_LIBRARIES}
${PCL_KEYPOINTS_LIBRARIES}
${PCL_OCTREE_LIBRARIES}
${PCL_REGISTRATION_LIBRARIES}
${PCL_SAMPLE_CONSENSUS_LIBRARIES}
${PCL_SEARCH_LIBRARIES}
${PCL_SEGMENTATION_LIBRARIES}
${PCL_SURFACE_LIBRARIES}
${PCL_TRACKING_LIBRARIES}
)
set(PCL_FOUND TRUE)
set(PCL_COMMON_FOUND TRUE)
set(PCL_FEATURES_FOUND TRUE)
set(PCL_FILTERS_FOUND TRUE)
set(PCL_IO_FOUND TRUE)
set(PCL_IO_PLY_FOUND TRUE)
set(PCL_KDTREE_FOUND TRUE)
set(PCL_KEYPOINTS_FOUND TRUE)
set(PCL_OCTREE_FOUND TRUE)
set(PCL_REGISTRATION_FOUND TRUE)
set(PCL_SAMPLE_CONSENSUS_FOUND TRUE)
set(PCL_SEARCH_FOUND TRUE)
set(PCL_SEGMENTATION_FOUND TRUE)
set(PCL_SURFACE_FOUND TRUE)
set(PCL_TRACKING_FOUND TRUE)
set(FLANN_LIBRARIES optimized flann debug flann)
set(FLANN_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/flann-1.7.1)
-127
View File
@@ -1,127 +0,0 @@
set(ENV{PATH} "${FREECAD_LIBPACK_DIR};$ENV{PATH}")
set(ENV{CMAKE_PREFIX_PATH} ${FREECAD_LIBPACK_DIR})
set(Boost_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include CACHE PATH "" FORCE)
set(OCE_DIR ${FREECAD_LIBPACK_DIR}/lib/cmake CACHE PATH "" FORCE)
set(SWIG_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/swig/swig.exe CACHE FILEPATH "Swig" FORCE)
#set(PYTHON_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe CACHE FILEPATH "" FORCE)
#set(PYTHON_LIBRARY ${FREECAD_LIBPACK_DIR}/lib/python27.lib CACHE FILEPATH "" FORCE)
#set(PYTHON_DEBUG_LIBRARY ${FREECAD_LIBPACK_DIR}/lib/python27_d.lib CACHE FILEPATH "" FORCE)
#set(PYTHON_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/python2.7 CACHE PATH "" FORCE)
if (BUILD_QT5)
# default Qt5 stuff
# Set paths to cmake config files for each Qt module
set(Qt5_ROOT_DIR ${FREECAD_LIBPACK_DIR} CACHE PATH "")
set (Qt5_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5 CACHE PATH "")
set (Qt5AxBase_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5AxBase CACHE PATH "")
set (Qt5AxContainer_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5AxContainer CACHE PATH "")
set (Qt5AxServer_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5AxServer CACHE PATH "")
set (Qt5Concurrent_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Concurrent CACHE PATH "")
set (Qt5Core_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Core CACHE PATH "")
set (Qt5DBus_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5DBus CACHE PATH "")
set (Qt5Designer_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Designer CACHE PATH "")
set (Qt5Gui_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Gui CACHE PATH "")
set (Qt5Help_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Help CACHE PATH "")
set (Qt5LinguistTools_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5LinguistTools CACHE PATH "")
set (Qt5Multimedia_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Multimedia CACHE PATH "")
set (Qt5MultimediaWidgets_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5MultimediaWidgets CACHE PATH "")
set (Qt5Network_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Network CACHE PATH "")
set (Qt5OpenGL_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5OpenGL CACHE PATH "")
set (Qt5OpenGLExtensions_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5OpenGLExtensions CACHE PATH "")
set (Qt5PrintSupport_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5PrintSupport CACHE PATH "")
set (Qt5Qml_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Qml CACHE PATH "")
set (Qt5Quick_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Quick CACHE PATH "")
set (Qt5QuickTest_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5QuickTest CACHE PATH "")
set (Qt5QuickWidgets_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5QuickWidgets CACHE PATH "")
set (Qt5Sql_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Sql CACHE PATH "")
set (Qt5Svg_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Svg CACHE PATH "")
set (Qt5Test_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Test CACHE PATH "")
set (Qt5UiPlugin_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5UiPlugin CACHE PATH "")
set (Qt5UiTools_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5UiTools CACHE PATH "")
set (Qt5Widgets_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Widgets CACHE PATH "")
set (Qt5Xml_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5Xml CACHE PATH "")
set (Qt5XmlPatterns_DIR ${Qt5_ROOT_DIR}/lib/cmake/Qt5XmlPatterns CACHE PATH "")
endif (BUILD_QT5)
find_library(XercesC_LIBRARIES xerces-c_3 "${FREECAD_LIBPACK_DIR}/lib")
find_library(XercesC_DEBUG_LIBRARIES xerces-c_3D "${FREECAD_LIBPACK_DIR}/lib")
set(XercesC_FOUND TRUE)
find_library(COIN3D_LIBRARY_RELEASE coin4 "${FREECAD_LIBPACK_DIR}/lib")
find_library(COIN3D_LIBRARY_DEBUG coin4d "${FREECAD_LIBPACK_DIR}/lib")
set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
set(COIN3D_FOUND TRUE)
set(NETGENDATA ${FREECAD_LIBPACK_DIR}/include/netgen)
if(FREECAD_USE_FREETYPE)
set(FREETYPE_INCLUDE_DIR_freetype2 ${FREECAD_LIBPACK_DIR}/include/freetype2)
endif(FREECAD_USE_FREETYPE)
link_directories(${FREECAD_LIBPACK_DIR}/lib)
set(PCL_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/pcl-1.7)
set(PCL_LIBRARY_DIRS ${FREECAD_LIBPACK_DIR}/lib)
set(PCL_COMMON_LIBRARIES optimized pcl_common_release debug pcl_common_debug)
set(PCL_FEATURES_LIBRARIES optimized pcl_features_release debug pcl_features_debug)
set(PCL_FILTERS_LIBRARIES optimized pcl_filters_release debug pcl_filters_debug)
set(PCL_IO_LIBRARIES optimized pcl_io_release debug pcl_io_debug)
set(PCL_IO_PLY_LIBRARIES optimized pcl_io_ply_release debug pcl_io_ply_debug)
set(PCL_KDTREE_LIBRARIES optimized pcl_kdtree_release debug pcl_kdtree_debug)
set(PCL_KEYPOINTS_LIBRARIES optimized pcl_keypoints_release debug pcl_keypoints_debug)
set(PCL_ML_LIBRARIES optimized pcl_ml_release debug pcl_ml_debug)
set(PCL_OCTREE_LIBRARIES optimized pcl_octree_release debug pcl_octree_debug)
set(PCL_RECOGNITION_LIBRARIES optimized pcl_recognition_release debug pcl_recognition_debug)
set(PCL_REGISTRATION_LIBRARIES optimized pcl_registration_release debug pcl_registration_debug)
set(PCL_SAMPLE_CONSENSUS_LIBRARIES optimized pcl_sample_consensus_release debug pcl_sample_consensus_debug)
set(PCL_SEARCH_LIBRARIES optimized pcl_search_release debug pcl_search_debug)
set(PCL_SEGMENTATION_LIBRARIES optimized pcl_segmentation_release debug pcl_segmentation_debug)
set(PCL_STEREO_LIBRARIES optimized pcl_stereo_release debug pcl_stereo_debug)
set(PCL_SURFACE_LIBRARIES optimized pcl_surface_release debug pcl_surface_debug)
set(PCL_TRACKING_LIBRARIES optimized pcl_tracking_release debug pcl_tracking_debug)
set(PCL_LIBRARIES
${PCL_COMMON_LIBRARIES}
${PCL_FEATURES_LIBRARIES}
${PCL_FILTERS_LIBRARIES}
${PCL_IO_LIBRARIES}
${PCL_IO_PLY_LIBRARIES}
${PCL_KDTREE_LIBRARIES}
${PCL_KEYPOINTS_LIBRARIES}
${PCL_ML_LIBRARIES}
${PCL_OCTREE_LIBRARIES}
${PCL_RECOGNITION_LIBRARIES}
${PCL_REGISTRATION_LIBRARIES}
${PCL_SAMPLE_CONSENSUS_LIBRARIES}
${PCL_SEARCH_LIBRARIES}
${PCL_SEGMENTATION_LIBRARIES}
${PCL_STEREO_LIBRARIES}
${PCL_SURFACE_LIBRARIES}
${PCL_TRACKING_LIBRARIES}
)
set(PCL_FOUND TRUE)
set(PCL_COMMON_FOUND TRUE)
set(PCL_FEATURES_FOUND TRUE)
set(PCL_FILTERS_FOUND TRUE)
set(PCL_IO_FOUND TRUE)
set(PCL_IO_PLY_FOUND TRUE)
set(PCL_KDTREE_FOUND TRUE)
set(PCL_KEYPOINTS_FOUND TRUE)
set(PCL_ML_FOUND TRUE)
set(PCL_OCTREE_FOUND TRUE)
set(PCL_RECOGNITION_FOUND TRUE)
set(PCL_REGISTRATION_FOUND TRUE)
set(PCL_SAMPLE_CONSENSUS_FOUND TRUE)
set(PCL_SEARCH_FOUND TRUE)
set(PCL_SEGMENTATION_FOUND TRUE)
set(PCL_STEREO_FOUND TRUE)
set(PCL_SURFACE_FOUND TRUE)
set(PCL_TRACKING_FOUND TRUE)
+23 -29
View File
@@ -11,17 +11,17 @@ include_directories(${FREECAD_LIBPACK_DIR}/include)
set(OPENGL_gl_LIBRARY opengl32 glu32)
# Python
set(PYTHON_LIBRARIES optimized python26.lib debug python26_d.lib)
set(PYTHON_DEBUG_LIBRARY python26_d.lib)
set(PYTHON_LIBRARY python26.lib)
set(PYTHON_INCLUDE_PATH ${FREECAD_LIBPACK_DIR}/include/Python-2.6.4)
set(PYTHON_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/Python-2.6.4)
set(PYTHON_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe)
set(PYTHONLIBS_FOUND TRUE)
# XercesC
set(XercesC_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/xerces-c-3.1.0)
set(XercesC_LIBRARIES xerces-c_3.lib)
set(XercesC_DEBUG_LIBRARIES xerces-c_3D.lib)
set(XercesC_FOUND TRUE)
set(XERCESC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/xerces-c-3.1.0)
set(XERCESC_LIBRARIES xerces-c_3.lib)
set(XERCESC_DEBUG_LIBRARIES xerces-c_3D.lib)
set(XERCESC_FOUND TRUE)
# Boost
set(Boost_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/boost-1_41)
@@ -30,15 +30,15 @@ set(Boost_LIBRARIES
optimized boost_system-vc90-mt-1_41.lib
optimized boost_graph-vc90-mt-1_41.lib
optimized boost_program_options-vc90-mt-1_41.lib
optimized boost_python-vc90-mt-1_41.lib
optimized boost_regex-vc90-mt-1_41.lib
optimized boost_signals-vc90-mt-1_41.lib
optimized boost_thread-vc90-mt-1_41.lib
)
set(Boost_DEBUG_LIBRARIES
debug boost_filesystem-vc90-mt-gd-1_41.lib
debug boost_system-vc90-mt-gd-1_41.lib
debug boost_graph-vc90-mt-gd-1_41.lib
debug boost_program_options-vc90-mt-gd-1_41.lib
debug boost_python-vc90-mt-gd-1_41.lib
debug boost_regex-vc90-mt-gd-1_41.lib
debug boost_signals-vc90-mt-gd-1_41.lib
debug boost_thread-vc90-mt-gd-1_41.lib
@@ -67,10 +67,10 @@ set(SMESH_LIBRARIES
set(SMESH_FOUND TRUE)
# Coin3D
find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
find_path(COIN3D_INCLUDE_DIR Inventor/So.h
${FREECAD_LIBPACK_DIR}/include/Coin-2.4.5
)
find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
find_path(COIN3D_INCLUDE_DIR Inventor/So.h
${FREECAD_LIBPACK_DIR}/include/Coin-3.1.3
)
find_library(COIN3D_LIBRARY_RELEASE coin2
@@ -85,8 +85,6 @@ find_library(COIN3D_LIBRARY_RELEASE coin3
find_library(COIN3D_LIBRARY_DEBUG coin3d
"${FREECAD_LIBPACK_DIR}/lib"
)
set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
set(COIN3D_FOUND TRUE)
@@ -128,6 +126,8 @@ set(QT_LIBRARIES
optimized QtXml4.lib
optimized QtOpenGl4.lib
optimized QtWebKit4.lib
)
set(QT_DEBUG_LIBRARIES
debug QtCored4.lib
debug QtGuid4.lib
debug QtDesignerd4.lib
@@ -140,29 +140,20 @@ set(QT_LIBRARIES
debug QtWebKitd4.lib
)
set(QT_QTCORE_LIBRARY
optimized QtCore4.lib
set(QT_QTCORE_LIBRARY_DEBUG
debug QtCored4.lib
)
set(QT_QTXML_LIBRARY
optimized QtXml4.lib
debug QtXmld4.lib
set(QT_QTCORE_LIBRARY
optimized QtCore4.lib
)
set(QT_QT3SUPPORT_LIBRARY_DEBUG
debug Qt3Supportd4.lib
)
set(QT_QT3SUPPORT_LIBRARY
optimized Qt3Support4.lib
debug Qt3Supportd4.lib
)
set(QT_QTUITOOLS_LIBRARY
optimized QtUiTools.lib
debug QtUiToolsd.lib
)
set(QT_QTMAIN_LIBRARY
debug qtmaind.lib
optimized qtmain.lib
)
set(QT_UIC_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/uic.exe)
@@ -376,7 +367,6 @@ set(OCC_LIBRARIES
TKSTL
TKShHealing
TKXSBase
TKBin
TKBool
TKBO
TKBRep
@@ -408,6 +398,10 @@ set(EIGEN2_FOUND TRUE)
set(EIGEN3_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/eigen3)
set(EIGEN3_FOUND TRUE)
set(ODE_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/ode-0.11.1)
set(ODE_LIBRARIES ${FREECAD_LIBPACK_DIR}/lib/ode_double.lib)
set(ODE_FOUND TRUE)
# FreeType
if(FREECAD_USE_FREETYPE)
set(FREETYPE_LIBRARIES
+1113
View File
File diff suppressed because it is too large Load Diff
+486
View File
@@ -0,0 +1,486 @@
NOTE! The LGPL below is copyrighted by the Free Software Foundation, but
the instance of code that it refers to (the FreeCAD libraries) are copyrighted
by the authors who actually wrote it.
---------------------------------------------------------------------------
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
51 Franklin Street - Fifth Floor
Boston, MA 02110-1301, USA.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
+11
View File
@@ -0,0 +1,11 @@
SUBDIRS=examples
# Change data dir from default
datadir = @datadir@/data
data_DATA = \
License.txt
EXTRA_DIST = \
$(data_DATA) \
CMakeLists.txt
Binary file not shown.
+16 -3
View File
@@ -6,9 +6,6 @@ SET(Examples_Files
PartDesignExample.FCStd
RobotExample.FCStd
ArchDetail.FCStd
FemCalculixCantilever2D.FCStd
FemCalculixCantilever3D.FCStd
FemCalculixCantilever3D_newSolver.FCStd
)
ADD_CUSTOM_TARGET(Example_data ALL
@@ -36,6 +33,21 @@ if (WIN32 AND FREECAD_LIBPACK_USE)
endforeach (it)
SOURCE_GROUP("pivy" FILES ${FREECAD_LIBPACK_PIVY_COIN})
# pivy/gui
foreach (it ${FREECAD_LIBPACK_PIVY_SOQT})
get_filename_component(libfile ${it} NAME)
set(out "${CMAKE_BINARY_DIR}/lib/pivy/gui/${libfile}")
add_custom_command(
DEPENDS ${it}
OUTPUT ${out}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${it} ${out}
MAIN_DEPENDENCY ${it}
COMMENT "Copy file to ${out}"
)
endforeach (it)
SOURCE_GROUP("pivy\\gui" FILES ${FREECAD_LIBPACK_PIVY_SOQT})
# shiboken
foreach (it ${FREECAD_LIBPACK_SHIBOKEN})
get_filename_component(libfile ${it} NAME)
@@ -118,6 +130,7 @@ if (WIN32 AND FREECAD_LIBPACK_USE)
set(FREECAD_LIBPACK_FILES
${FREECAD_LIBPACK_PIVY_COIN}
${FREECAD_LIBPACK_PIVY_SOQT}
${FREECAD_LIBPACK_SHIBOKEN}
${FREECAD_LIBPACK_PYSIDE}
${FREECAD_LIBPACK_PYSIDEUIC_ABS}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+15
View File
@@ -0,0 +1,15 @@
# Change data dir from default
datadir = @datadir@/data/examples
data_DATA = \
DrawingExample.FCStd \
EngineBlock.FCStd \
PartDesignExample.FCStd \
RobotExample.FCStd \
Schenkel.stp \
ArchDetail.FCStd
EXTRA_DIST = \
$(data_DATA) \
CMakeLists.txt
Binary file not shown.
Binary file not shown.
Binary file not shown.
-104
View File
@@ -1,104 +0,0 @@
#import rpdb2
#rpdb2.start_embedded_debugger("test")
import FreeCAD
import Part
import Draft
from FreeCAD import Base
circ1= Part.makeCircle(
5,
FreeCAD.Vector(10,18,10), FreeCAD.Vector(1,0,0))
circ2 = Part.makeCircle(5)
def DrawMyPart(points, extrude):
obj1 = Draft.makeWire(points,closed=True,face=True,support=None)
face1 = Part.Face(obj1.Shape)
body1= face1.extrude(extrude)
Part.show(body1)
# part1
DrawMyPart([
FreeCAD.Vector(0,0,0),
FreeCAD.Vector(45,0,0),
FreeCAD.Vector(45,20,0),
FreeCAD.Vector(0,20,0),
], Base.Vector(0,0,4))
DrawMyPart([
FreeCAD.Vector(0,20,0),
FreeCAD.Vector(0,180,0),
FreeCAD.Vector(25,180,0),
FreeCAD.Vector(25,20,0),
], Base.Vector(0,0,4))
DrawMyPart([
FreeCAD.Vector(0,180,0),
FreeCAD.Vector(0,200,0),
FreeCAD.Vector(45,200,0),
FreeCAD.Vector(45,180,0),
], Base.Vector(0,0,4))
DrawMyPart([
FreeCAD.Vector(25,20,0),
FreeCAD.Vector(25,180,0),
FreeCAD.Vector(25,180,9.2),
FreeCAD.Vector(25,20,9.2),
], Base.Vector(0,0,4))
# part2
points=[
FreeCAD.Vector(45,200,0),
FreeCAD.Vector(68,200,25),
FreeCAD.Vector(68,0,25),
FreeCAD.Vector(45,0,0),
FreeCAD.Vector(45,200,0),
]
DrawMyPart([
FreeCAD.Vector(45,200,0),
FreeCAD.Vector(68,200,25),
FreeCAD.Vector(68,180,25),
FreeCAD.Vector(45,180,0),
], Base.Vector(0,0,4))
DrawMyPart([
FreeCAD.Vector(68,180,25),
FreeCAD.Vector(56.7,180,13),
FreeCAD.Vector(56.7,20,13),
FreeCAD.Vector(68,20,25),
], Base.Vector(0,0,4))
DrawMyPart([
FreeCAD.Vector(45,0,0),
FreeCAD.Vector(68,0,25),
FreeCAD.Vector(68,20,25),
FreeCAD.Vector(45,20,0),
], Base.Vector(0,0,4))
DrawMyPart([
FreeCAD.Vector(25,20,0),
FreeCAD.Vector(45,20,0),
FreeCAD.Vector(45,20,9.2),
FreeCAD.Vector(25,20,9.2),
], Base.Vector(0,0,4))
DrawMyPart([
FreeCAD.Vector(25,180,0),
FreeCAD.Vector(45,180,0),
FreeCAD.Vector(45,180,9.2),
FreeCAD.Vector(25,180,9.2),
], Base.Vector(0,0,4))
# part3
DrawMyPart([
FreeCAD.Vector(68,200,25),
FreeCAD.Vector(68,200,35),
FreeCAD.Vector(68,0,35),
FreeCAD.Vector(68,0,25),
FreeCAD.Vector(68,200,25),
], Base.Vector(0,0,4))
circ1= Draft.makeCircle(
5,
Base.Placement(10,18,10),
FreeCAD.Vector(1,0,0))
circ2 = Draft.makeCircle(5)
Binary file not shown.
@@ -1,403 +0,0 @@
<?xml version="1.0" ?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="4" date="2005-01-13" time="18:02:23" author="Vis Mockup 5.1.0">
<ProductDef id="id1">
<UserData id="id12" type="__TCC-VIS_MONIKER_INFO">
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="Path"></UserValue>
<UserValue value="file" title="FA_Protocol"></UserValue>
<UserValue value="C:/Program Files/UGS/JT2Go/Examples/2_Cylinder_Engine_Example/2_Cylinder_Engine.jt" title="object_id"></UserValue>
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="LocalCopy"></UserValue>
<UserValue value="2.0" title="Version"></UserValue>
<UserValue value="local" title="FA_Service"></UserValue>
<UserValue value="No" title="MkIsFolder"></UserValue>
<UserValue value="2_Cylinder_Engine.jt" title="Title"></UserValue>
<UserValue value="DirectModel.Document" title="FileTypeID"></UserValue></UserData>
<InstanceGraph id="id2" rootRefs="inst1931328">
<Instance id="inst1931328" name="2_Cylinder_Engine" partRef="#id14">
<ApplicationRef application="TCC-VIS" label="2_Cylinder_Engine.asm;0;0:"></ApplicationRef>
<UserData id="id18" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id29">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData>
<Transform id="id15">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst1950208" name="rod:123-699;0,Parts" partRef="#id44">
<ApplicationRef application="TCC-VIS" label="rod:123-699;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id45">0.9861037135124207 -0.1661308258771896 -1.166810754732375e-015 0 0.1661308258771896 0.9861037135124207 -1.062013085640994e-015 0 1.327029577804367e-015 8.534118465009541e-016 1 0 0.07101806253194809 0.02219301462173462 0.02199999988079071 1</Transform></Instance>
<Instance id="inst1950304" name="Piston Sub:;0,Parts" partRef="#id50">
<ApplicationRef application="TCC-VIS" label="Piston Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id51">-1 1.10096191110321e-032 -7.293991291219912e-017 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.1368601024150848 0.06445372104644775 0.003820367390289903 1</Transform></Instance>
<Instance id="inst1950160" name="Piston:123-844;0,Parts" partRef="#id58">
<ApplicationRef application="TCC-VIS" label="Piston:123-844;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id59">-1 -1.334063881586189e-008 7.982825511732017e-010 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.294677197933197 0.07397986948490143 0.01617963239550591 1</Transform></Instance>
<Instance id="inst1950400" name="Piston pin:123-845;0,Parts" partRef="#id64">
<ApplicationRef application="TCC-VIS" label="Piston pin:123-845;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id65">0.9995650053024292 0.02949320152401924 -7.979323313200837e-010 0 -0.0294931884855032 0.9995650053024292 2.354164085893729e-011 0 -3.085015966644567e-015 2.168479519145078e-015 1 0 -0.0453154630959034 -0.02461725845932961 -0.02632036805152893 1</Transform></Instance>
<Instance id="inst1950496" name="Piston Sub:;0,Parts" partRef="#id70">
<ApplicationRef application="TCC-VIS" label="Piston Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id71">1 0 0 0 0 1 0 0 0 0 1 0 0.1368601024150848 -0.06445372104644775 -0.03617963194847107 1</Transform></Instance>
<Instance id="inst1950448" name="Piston:123-844;0,Parts" partRef="#id58">
<ApplicationRef application="TCC-VIS" label="Piston:123-844;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id83">-1 -1.334063881586189e-008 7.041613514502387e-009 0 -1.003604666278664e-019 -1 1.355268465125744e-016 0 -1.736007260287489e-016 1.355268465125744e-016 1 0 -0.294677197933197 0.07397986948490143 0.0161796361207962 1</Transform></Instance>
<Instance id="inst1950592" name="Piston pin:123-845;0,Parts" partRef="#id64">
<ApplicationRef application="TCC-VIS" label="Piston pin:123-845;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id86">0.9995650053024292 0.02949320152401924 -7.038550631222051e-009 0 -0.0294931884855032 0.9995650053024292 2.076799010541919e-010 0 1.57434811062825e-016 -2.681045890006053e-016 1 0 -0.0453154630959034 -0.02461725845932961 -0.02632036432623863 1</Transform></Instance>
<Instance id="inst1950640" name="CamShaft Sub:123-990;0,Parts" partRef="#id89">
<ApplicationRef application="TCC-VIS" label="CamShaft Sub:123-990;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id90">0.7071067690849304 -0.7071067690849304 4.055928498874345e-013 0 0.7071067690849304 0.7071067690849304 6.101357784178425e-016 0 -2.872288724139332e-013 2.863660101149607e-013 1 0 0.04717867448925972 -0.0528213270008564 -0.08894477039575577 1</Transform></Instance>
<Instance id="inst1950688" name="Cam_shaft:123-457;0,Parts" partRef="#id104">
<ApplicationRef application="TCC-VIS" label="Cam_shaft:123-457;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id105">1.214013511940948e-008 -7.440697502580917e-010 1 0 -0.9059386253356934 0.4234090149402618 3.675416633368289e-013 0 -0.4234090149402618 -0.9059386253356934 1.728632428171784e-013 0 -0.03029589354991913 -0.05256131291389465 0.02505522221326828 1</Transform></Instance>
<Instance id="inst1950736" name="cam_gear:123-456;0,Parts" partRef="#id110">
<ApplicationRef application="TCC-VIS" label="cam_gear:123-456;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id111">-0.4234090149402618 -0.9059386253356934 1.726649286873036e-013 0 -0.9059386253356934 0.4234090149402618 3.675724817835818e-013 0 -1.214013511940948e-008 7.440699723026967e-010 -1 0 -0.09059386700391769 -0.02437981590628624 -0.04005522653460503 1</Transform></Instance>
<Instance id="inst1950784" name="Crank_Sub:123-555;0,Parts" partRef="#id116">
<ApplicationRef application="TCC-VIS" label="Crank_Sub:123-555;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id117">-0.5 -0.8660253882408142 -2.979083167524747e-016 0 0.8660253882408142 -0.5 -7.816530680941419e-016 0 5.279772353637604e-016 -6.488226847947026e-016 1 0 0.01809818297624588 -0.06969784200191498 -0.1055598109960556 1</Transform></Instance>
<Instance id="inst1950832" name="crank:123-782;0,Parts" partRef="#id131">
<ApplicationRef application="TCC-VIS" label="crank:123-782;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id132">-0.9390942454338074 0.3436597287654877 1.284025318025572e-016 0 -0.3436597883701325 -0.9390941858291626 -6.660528172495127e-016 0 2.47777798279003e-008 -2.063888393522007e-009 1 0 -0.05131101608276367 -0.05052240565419197 0.1075598075985909 1</Transform></Instance>
<Instance id="inst1950880" name="crank_gear:123-783;0,Parts" partRef="#id137">
<ApplicationRef application="TCC-VIS" label="crank_gear:123-783;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id138">-0.9390942454338074 0.3436597287654877 3.809448359261655e-016 0 -0.3436597883701325 -0.9390941858291626 -2.583991531420675e-015 0 2.47777798279003e-008 -2.063890391923451e-009 1 0 -0.05131101980805397 -0.05052240565419197 -0.01844018884003162 1</Transform></Instance>
<Instance id="inst1950928" name="Body Sub:123-002;0,Parts" partRef="#id143">
<ApplicationRef application="TCC-VIS" label="Body Sub:123-002;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id144">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst1951264" name="Head2 Sub:;0,Parts" partRef="#id158">
<ApplicationRef application="TCC-VIS" label="Head2 Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id159">1.665474158585312e-008 1.004267005555448e-006 -1 0 -1 -1.666503557373744e-008 -1.665475757306467e-008 0 -1.6665051560949e-008 1 1.004267005555448e-006 0 -0.04826182126998901 -0.05911042168736458 0.03459598124027252 1</Transform></Instance>
<Instance id="inst1951408" name="Spark Plug:;0,Parts" partRef="#id172">
<ApplicationRef application="TCC-VIS" label="Spark Plug:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id173">1 9.977915303889529e-014 -9.877358024823479e-007 0 -9.946720638254192e-007 -3.500436562831055e-008 -0.9999999403953552 0 -2.75101122437782e-014 1 -2.288952989822068e-013 0 0.02452629990875721 0.2137382179498673 0.2830735743045807 1</Transform></Instance>
<Instance id="inst1951616" name="Rocker_Sub:;0,Parts" partRef="#id178">
<ApplicationRef application="TCC-VIS" label="Rocker_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id179">0.9999974370002747 -7.939097296238984e-011 -0.002271066652610898 0 9.118318147522016e-016 1 3.807415215490448e-015 0 0.002271073637530208 3.500404588407946e-008 0.9999973773956299 0 -0.0001340909366263077 -0.01299998629838228 0.0001236627285834402 1</Transform></Instance>
<Instance id="inst1951568" name="Rocker Arm Shaft:123-601;0,Parts" partRef="#id191">
<ApplicationRef application="TCC-VIS" label="Rocker Arm Shaft:123-601;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id192">-0.9999850392341614 -0.004973083734512329 -0.002270016819238663 0 0.004973071627318859 -0.9999875426292419 1.127185623772675e-005 0 -0.002270089229568839 -4.575558421038295e-008 0.9999972581863403 0 0.0487947128713131 0.7686771750450134 -0.02040251158177853 1</Transform></Instance>
<Instance id="inst1951712" name="Rocker_Mount_Sub:;0,Parts" partRef="#id197">
<ApplicationRef application="TCC-VIS" label="Rocker_Mount_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id198">1 -7.424300063618716e-011 1.35305974757749e-010 0 1.276140897124513e-015 0.9999998807907105 4.341043060584901e-016 0 -4.433523059788058e-008 -2.848764957263938e-008 0.9999998211860657 0 -1.748614808505522e-009 -9.381160293031599e-010 -7.228971310446752e-010 1</Transform></Instance>
<Instance id="inst1951824" name="Rocker Mount:123-604;0,Parts" partRef="#id205">
<ApplicationRef application="TCC-VIS" label="Rocker Mount:123-604;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id206">0.9999973773956299 1.651584646822357e-008 0.002270044526085258 0 -1.669391558323241e-008 0.9999998807907105 1.723048725921217e-008 0 -0.002270088996738195 -4.57557440824985e-008 0.9999972581863403 0 0.04950515553355217 0.3443533480167389 0.07959935814142227 1</Transform></Instance>
<Instance id="inst1951872" name="Rocker Mount Cap:123-608;0,Parts" partRef="#id211">
<ApplicationRef application="TCC-VIS" label="Rocker Mount Cap:123-608;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id212">0.9999973773956299 1.651585179729409e-008 0.002270044526085258 0 1.669392091230293e-008 -0.9999998807907105 -1.723048725921217e-008 0 0.002270088996738195 4.57557440824985e-008 -0.9999972581863403 0 0.04947110638022423 0.2571229636669159 0.09459931403398514 1</Transform></Instance>
<Instance id="inst1951920" name="Rocker Bolt:123-603;0,Parts" partRef="#id217">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id218">0.9984452724456787 1.914222380605679e-008 -0.05574143305420876 0 -0.05574139580130577 4.472066095217997e-008 -0.9984451532363892 0 -1.669391203051873e-008 1 1.723049436463953e-008 0 0.01820174790918827 0.326738178730011 0.2976770401000977 1</Transform></Instance>
<Instance id="inst1952032" name="Rocker Bolt:123-603;0,Parts" partRef="#id217">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id223">0.9984543323516846 1.913488922866691e-008 -0.05557771772146225 0 -0.05557768046855927 4.472379444564467e-008 -0.998454213142395 0 -1.669391025416189e-008 0.9999998807907105 1.723049436463953e-008 0 0.06816709786653519 0.326738178730011 0.2977887094020844 1</Transform></Instance>
<Instance id="inst1952144" name="Rocker_Mount_Sub:;0,Parts" partRef="#id226">
<ApplicationRef application="TCC-VIS" label="Rocker_Mount_Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id227">1 -7.424300063618716e-011 1.35305974757749e-010 0 1.276140897124513e-015 0.9999998807907105 4.341043060584901e-016 0 -4.433523059788058e-008 -2.848764957263938e-008 0.9999998211860657 0 -4.064914627122107e-009 -1.459414988858043e-008 -0.09999953210353851 1</Transform></Instance>
<Instance id="inst1952256" name="Rocker Mount:123-604;0,Parts" partRef="#id205">
<ApplicationRef application="TCC-VIS" label="Rocker Mount:123-604;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id239">0.9999974370002747 1.662746029751361e-008 0.002270044526085258 0 -1.669391735958925e-008 1.00000011920929 1.723049081192585e-008 0 -0.002270061522722244 -2.438619972622291e-008 0.9999974966049194 0 0.04973216727375984 0.3443534076213837 0.07959914952516556 1</Transform></Instance>
<Instance id="inst1952304" name="Rocker Mount Cap:123-608;0,Parts" partRef="#id211">
<ApplicationRef application="TCC-VIS" label="Rocker Mount Cap:123-608;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id242">0.9999974370002747 1.662746562658413e-008 0.002270044526085258 0 1.669392268865977e-008 -1.00000011920929 -1.723049081192585e-008 0 0.002270061522722244 2.438619972622291e-008 -0.9999974966049194 0 0.0496981143951416 0.2571230232715607 0.09459911286830902 1</Transform></Instance>
<Instance id="inst1952352" name="Rocker Bolt:123-603;0,Parts" partRef="#id217">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id245">0.9986630082130432 1.791910797521723e-008 -0.05169311910867691 0 -0.05169309675693512 2.345346850063379e-008 -0.998663067817688 0 -1.669391025416189e-008 1.00000011920929 1.72305067991374e-008 0 0.01757495850324631 0.3267382085323334 0.2976291477680206 1</Transform></Instance>
<Instance id="inst1952464" name="Rocker Bolt:123-603;0,Parts" partRef="#id217">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id248">0.9986716508865356 1.791518755567267e-008 -0.05152621492743492 0 -0.05152619630098343 2.345645455648082e-008 -0.9986717104911804 0 -1.669391025416189e-008 1.00000011920929 1.723049791735321e-008 0 0.06753963232040405 0.3267382085323334 0.2977406084537506 1</Transform></Instance>
<Instance id="inst1952576" name="Rocker Arm Shaft:123-601;0,Parts" partRef="#id191">
<ApplicationRef application="TCC-VIS" label="Rocker Arm Shaft:123-601;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id251">-0.9999873042106628 -0.004487393889576197 -0.00227002170868218 0 0.004487383179366589 -0.9999898076057434 1.016931855701841e-005 0 -0.002270088996738195 -4.575493051106605e-008 0.9999972581863403 0 -0.02998023852705956 0.7686992287635803 -0.02058133110404015 1</Transform></Instance>
<Instance id="inst1952624" name="Valve Spring:123-702;0,Parts" partRef="#id254">
<ApplicationRef application="TCC-VIS" label="Valve Spring:123-702;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id255">-0.821344792842865 -0.3829995691776276 0.4227339625358582 0 -0.3831273019313812 -0.1786547750234604 -0.9062537550926209 0 0.4226182997226715 -0.9063078165054321 -4.468796817036491e-007 0 -0.2707940638065338 0.1454340070486069 0.1220441088080406 1</Transform></Instance>
<Instance id="inst1952720" name="Valve_Sub:;0,Parts" partRef="#id260">
<ApplicationRef application="TCC-VIS" label="Valve_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id261">0.4546822905540466 0.654166042804718 0.6044259667396545 0 -0.8696395754814148 0.4726209938526154 0.1426760256290436 0 -0.1923305839300156 -0.5905050039291382 0.7837809920310974 0 0.09187051653862 0.08063256740570068 0.1662608832120895 1</Transform></Instance>
<Instance id="inst1952672" name="Valve:123-700;0,Parts" partRef="#id268">
<ApplicationRef application="TCC-VIS" label="Valve:123-700;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id269">0.7850326299667358 0.06081443279981613 -0.6164620518684387 0 -0.1356190741062164 0.9878997206687927 -0.07524674385786057 0 0.6044265031814575 0.1426751911640167 0.7837809920310974 0 -0.001248535001650453 -0.2500619888305664 -0.09022713452577591 1</Transform></Instance>
<Instance id="inst1952816" name="Valve Spring Cap:123-704;0,Parts" partRef="#id274">
<ApplicationRef application="TCC-VIS" label="Valve Spring Cap:123-704;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id275">0.7850326299667358 0.06081448495388031 -0.6164620518684387 0 -0.3924773633480072 -0.7211050391197205 -0.5709372162818909 0 -0.4792551398277283 0.6901518106460571 -0.5422225594520569 0 0.0455969013273716 0.2435131669044495 0.06938881427049637 1</Transform></Instance>
<Instance id="inst1952864" name="Spring:;0,Parts" partRef="#id280">
<ApplicationRef application="TCC-VIS" label="Spring:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id281">1 -3.002940829333056e-008 3.437022044749938e-008 0 -4.150651022882812e-008 1.000000238418579 4.017514854126603e-008 0 3.73510147255729e-008 2.773385787691041e-008 1 0 -1.489124112907803e-008 -4.276215381793236e-009 1.08718030134014e-008 1</Transform></Instance>
<Instance id="inst1952912" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id289">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1410751193761826 0.09142301231622696 -0.3314632773399353 1</Transform></Instance>
<Instance id="inst1952960" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id294">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.05227819457650185 0.07644443958997726 -0.1796288043260574 1</Transform></Instance>
<Instance id="inst1953008" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id297">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1347948610782623 0.09093648940324783 -0.3265315294265747 1</Transform></Instance>
<Instance id="inst1953056" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id300">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.05855846777558327 0.07595790922641754 -0.1746970862150192 1</Transform></Instance>
<Instance id="inst1953104" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;4:"></ApplicationRef>
<Transform id="id303">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1285146176815033 0.0904499888420105 -0.3215998709201813 1</Transform></Instance>
<Instance id="inst1953152" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;5:"></ApplicationRef>
<Transform id="id306">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.0648387148976326 0.07547140121459961 -0.1697653979063034 1</Transform></Instance>
<Instance id="inst1953200" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;6:"></ApplicationRef>
<Transform id="id309">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1222343519330025 0.08996346592903137 -0.3166681826114655 1</Transform></Instance>
<Instance id="inst1953248" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;7:"></ApplicationRef>
<Transform id="id312">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.07111898809671402 0.07498487830162048 -0.1648336797952652 1</Transform></Instance>
<Instance id="inst1953296" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;8:"></ApplicationRef>
<Transform id="id315">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1159540787339211 0.08947695046663284 -0.3117364346981049 1</Transform></Instance>
<Instance id="inst1953344" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;9:"></ApplicationRef>
<Transform id="id318">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.07739924639463425 0.07449836283922195 -0.1599020063877106 1</Transform></Instance>
<Instance id="inst1953440" name="Valve_Sub:;0,Parts" partRef="#id321">
<ApplicationRef application="TCC-VIS" label="Valve_Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id322">-0.4546823501586914 0.6541661024093628 -0.6044260263442993 0 0.8696396350860596 0.4726210236549377 -0.1426760405302048 0 0.192330613732338 -0.5905051231384277 -0.7837811708450317 0 0.01489819493144751 0.08582951128482819 -0.04803464561700821 1</Transform></Instance>
<Instance id="inst1953392" name="Spring:;0,Parts" partRef="#id335">
<ApplicationRef application="TCC-VIS" label="Spring:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id336">1 2.298901691233368e-008 -2.432995493961698e-008 0 -3.89851670945518e-008 0.9999998807907105 -1.280528216796029e-008 0 -3.000558379540053e-008 -2.485903749516183e-008 0.9999998807907105 0 -1.494453005790319e-009 -7.655864275868396e-010 -5.496130661697407e-009 1</Transform></Instance>
<Instance id="inst1953576" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;10:"></ApplicationRef>
<Transform id="id348">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1413719058036804 0.08810769766569138 -0.3271084725856781 1</Transform></Instance>
<Instance id="inst1953624" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;11:"></ApplicationRef>
<Transform id="id351">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.05524870008230209 0.07287602126598358 -0.1727083474397659 1</Transform></Instance>
<Instance id="inst1953672" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;12:"></ApplicationRef>
<Transform id="id354">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1366616934537888 0.08774281293153763 -0.3234097063541412 1</Transform></Instance>
<Instance id="inst1953720" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;13:"></ApplicationRef>
<Transform id="id357">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.05995889753103256 0.07251112163066864 -0.1690095812082291 1</Transform></Instance>
<Instance id="inst1953768" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;14:"></ApplicationRef>
<Transform id="id360">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1319515109062195 0.08737793564796448 -0.3197109401226044 1</Transform></Instance>
<Instance id="inst1953816" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;15:"></ApplicationRef>
<Transform id="id363">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.06466909497976303 0.07214623689651489 -0.165310800075531 1</Transform></Instance>
<Instance id="inst1953920" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;16:"></ApplicationRef>
<Transform id="id366">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.127241313457489 0.08701304346323013 -0.3160121440887451 1</Transform></Instance>
<Instance id="inst1954024" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;17:"></ApplicationRef>
<Transform id="id369">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.0693792924284935 0.07178134471178055 -0.1616120338439941 1</Transform></Instance>
<Instance id="inst1954128" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;18:"></ApplicationRef>
<Transform id="id372">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1225311160087585 0.08664815127849579 -0.3123133778572083 1</Transform></Instance>
<Instance id="inst1954232" name="Spring Link:;0,Parts" partRef="#id288">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;19:"></ApplicationRef>
<Transform id="id375">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.07408948242664337 0.0714164674282074 -0.1579132527112961 1</Transform></Instance>
<Instance id="inst1954336" name="Valve:123-700;0,Parts" partRef="#id268">
<ApplicationRef application="TCC-VIS" label="Valve:123-700;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id378">0.7850325107574463 0.06081444025039673 -0.6164620518684387 0 -0.135619044303894 0.9878994226455689 -0.07524680346250534 0 0.6044264435768127 0.1426751613616943 0.7837807536125183 0 -0.005746716633439064 -0.250409871339798 -0.08668788522481918 1</Transform></Instance>
<Instance id="inst1954440" name="Valve Spring Cap:123-704;0,Parts" partRef="#id274">
<ApplicationRef application="TCC-VIS" label="Valve Spring Cap:123-704;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id381">0.7850325703620911 0.06081447005271912 -0.6164620518684387 0 -0.3681581914424896 -0.7545340657234192 -0.543265700340271 0 -0.498180091381073 0.6534368991851807 -0.5699445009231567 0 0.03418708592653275 0.2526659965515137 0.06506367027759552 1</Transform></Instance>
<Instance id="inst1954488" name="Rocker Arm:123-600;0,Parts" partRef="#id384">
<ApplicationRef application="TCC-VIS" label="Rocker Arm:123-600;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id385">0.9026297330856323 0.4304179251194 -9.149687798526429e-007 0 -0.4304179251194 0.9026297330856323 4.554329109396349e-007 0 1.028840756589489e-006 1.773579327846164e-008 0.9999999403953552 0 0.2777610719203949 0.5800805687904358 -0.005389846861362457 1</Transform></Instance>
<Instance id="inst1954600" name="Rocker Arm_copy:123-602;0,Parts" partRef="#id390">
<ApplicationRef application="TCC-VIS" label="Rocker Arm_copy:123-602;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id391">0.9026297926902771 -0.4304177463054657 -9.298340728491894e-007 0 0.4304177463054657 0.9026297926902771 -4.242589284331189e-007 0 1.028840756589489e-006 1.773579505481848e-008 0.9999999403953552 0 0.3539793193340302 0.3309040069580078 -0.005389927886426449 1</Transform></Instance>
<Instance id="inst1954872" name="Valve Spring:123-702;0,Parts" partRef="#id254">
<ApplicationRef application="TCC-VIS" label="Valve Spring:123-702;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id396">-0.8213930130004883 0.3830220103263855 0.4226199984550476 0 -0.3830239772796631 0.1786065548658371 -0.9063069224357605 0 -0.4226182103157044 -0.9063078165054321 4.008188341231289e-007 0 -0.141640841960907 0.3886727094650269 0.1220077648758888 1</Transform></Instance>
<Instance id="inst1955728" name="rod:123-699;0,Parts" partRef="#id44">
<ApplicationRef application="TCC-VIS" label="rod:123-699;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id399">-0.9861037135124207 0.1661308258771896 1.702963710921711e-016 0 -0.1661308258771896 -0.9861037135124207 -3.509013978502231e-016 0 1.096343463342109e-016 -3.743166442952229e-016 1 0 -0.07101806253194809 -0.02219301089644432 -0.01999999769032002 1</Transform></Instance>
<Part id="id14" name="2_Cylinder_Engine" instanceRefs="inst1950208 inst1950304 inst1950496 inst1950640 inst1950784 inst1950928 inst1955728" type="assembly">
<UserData id="id31" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id42">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id44" name="rod:123-699;0,Parts" type="solid">
<Bound id="id47" values="0.02005359902977943 -0.006323420908302069 0 0.09100000560283661 0.03700000047683716 0.009999999776482582"></Bound>
<Representation id="id48" format="JT" location="./2_Cylinder_Engine/rod_123_699_0_Parts.jt"></Representation></Part>
<Part id="id50" name="Piston Sub:;0,Parts" instanceRefs="inst1950160 inst1950400" type="assembly">
<UserData id="id56">
<UserValue value="Piston Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Piston Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id58" name="Piston:123-844;0,Parts" type="solid">
<Bound id="id61" values="0.0101108755916357 0.009526152163743973 0 0.05324159190058708 0.04650000110268593 0.04649999737739563"></Bound>
<Representation id="id62" format="JT" location="./2_Cylinder_Engine/Piston_123_844_0_Parts.jt"></Representation></Part>
<Part id="id64" name="Piston pin:123-845;0,Parts" type="solid">
<Bound id="id67" values="-0.2534925639629364 0.09658930450677872 0.04250000044703484 0.01099999435245991 0.01099186204373837 0.04250000044703484"></Bound>
<Representation id="id68" format="JT" location="./2_Cylinder_Engine/Piston_pin_123_845_0_Parts.jt"></Representation></Part>
<Part id="id70" name="Piston Sub:;0,Parts" instanceRefs="inst1950448 inst1950592" type="assembly">
<UserData id="id81">
<UserValue value="Piston Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:24.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Piston Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id89" name="CamShaft Sub:123-990;0,Parts" instanceRefs="inst1950688 inst1950736" type="assembly">
<UserData id="id102">
<UserValue value="CamShaft Sub:123-990;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:25.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="CamShaft Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-990" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:11:35.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id104" name="Cam_shaft:123-457;0,Parts" type="solid">
<Bound id="id107" values="0.05063954740762711 -0.03493684902787209 -4.356868157628924e-005 0.1267500072717667 0.02063110843300819 0.01902950927615166"></Bound>
<Representation id="id108" format="JT" location="./2_Cylinder_Engine/Cam_shaft_123_457_0_Parts.jt"></Representation></Part>
<Part id="id110" name="cam_gear:123-456;0,Parts" type="solid">
<Bound id="id113" values="0 -0.1000000014901161 -0.002500000409781933 0.06898061186075211 0.06888007372617722 0.01250000018626452"></Bound>
<Representation id="id114" format="JT" location="./2_Cylinder_Engine/cam_gear_123_456_0_Parts.jt"></Representation></Part>
<Part id="id116" name="Crank_Sub:123-555;0,Parts" instanceRefs="inst1950832 inst1950880" type="assembly">
<UserData id="id129">
<UserValue value="Crank_Sub:123-555;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Aug-14-2001 14:13:01.00" title="Version Create Date + Time"></UserValue>
<UserValue value="Crank_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-555" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:13:01.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id131" name="crank:123-782;0,Parts" type="solid">
<Bound id="id134" values="4.847693617193727e-006 0 -0.01325000263750553 0.06299515068531036 0.03500000014901161 0.1267500072717667"></Bound>
<Representation id="id135" format="JT" location="./2_Cylinder_Engine/crank_123_782_0_Parts.jt"></Representation></Part>
<Part id="id137" name="crank_gear:123-783;0,Parts" type="solid">
<Bound id="id140" values="0 -0.0001077877532225102 -0.002500000409781933 0.03597993031144142 0.03586557507514954 0.01250000018626452"></Bound>
<Representation id="id141" format="JT" location="./2_Cylinder_Engine/crank_gear_123_783_0_Parts.jt"></Representation></Part>
<Part id="id143" name="Body Sub:123-002;0,Parts" instanceRefs="inst1951264" type="assembly">
<UserData id="id156">
<UserValue value="Body Sub:123-002;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:29.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Body Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-002" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:10:00.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id158" name="Head2 Sub:;0,Parts" instanceRefs="inst1951408 inst1951616 inst1952624 inst1952720 inst1953440 inst1954488 inst1954600 inst1954872" type="assembly">
<UserData id="id170">
<UserValue value="Head2 Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Head2 Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id172" name="Spark Plug:;0,Parts" type="solid">
<Bound id="id175" values="0.03006996028125286 0.2239631712436676 0.02060705050826073 0.01078151073306799 0.009165501222014427 0.0493929535150528"></Bound>
<Representation id="id176" format="JT" location="./2_Cylinder_Engine/Spark_Plug__0_Parts.jt"></Representation></Part>
<Part id="id178" name="Rocker_Sub:;0,Parts" instanceRefs="inst1951568 inst1951712 inst1952144 inst1952576" type="assembly">
<UserData id="id189">
<UserValue value="Rocker_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Rocker_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id191" name="Rocker Arm Shaft:123-601;0,Parts" type="solid">
<Bound id="id194" values="-0.04317900538444519 0.4631594121456146 0.05750000104308128 0.006500000134110451 0.006495170295238495 0.05750000104308128"></Bound>
<Representation id="id195" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_Shaft_123_601_0_Parts.jt"></Representation></Part>
<Part id="id197" name="Rocker_Mount_Sub:;0,Parts" instanceRefs="inst1951824 inst1951872 inst1951920 inst1952032" type="assembly">
<UserData id="id203">
<UserValue value="Rocker_Mount_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Rocker_Mount_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id205" name="Rocker Mount:123-604;0,Parts" type="solid">
<Bound id="id208" values="0.005044352263212204 -0.05961518362164497 0.007500000298023224 0.0494999997317791 0.02099999971687794 0.007500000298023224"></Bound>
<Representation id="id209" format="JT" location="./2_Cylinder_Engine/Rocker_Mount_123_604_0_Parts.jt"></Representation></Part>
<Part id="id211" name="Rocker Mount Cap:123-608;0,Parts" type="solid">
<Bound id="id214" values="0.005044352263212204 -0.05511518567800522 0.007500000298023224 0.0494999997317791 0.006499998271465302 0.007500000298023224"></Bound>
<Representation id="id215" format="JT" location="./2_Cylinder_Engine/Rocker_Mount_Cap_123_608_0_Parts.jt"></Representation></Part>
<Part id="id217" name="Rocker Bolt:123-603;0,Parts" type="solid">
<Bound id="id220" values="0.02305358275771141 0.2096639275550842 -0.04050000011920929 0.007499999366700649 0.007494449149817228 0.04050000011920929"></Bound>
<Representation id="id221" format="JT" location="./2_Cylinder_Engine/Rocker_Bolt_123_603_0_Parts.jt"></Representation></Part>
<Part id="id226" name="Rocker_Mount_Sub:;0,Parts" instanceRefs="inst1952256 inst1952304 inst1952352 inst1952464" type="assembly">
<UserData id="id237">
<UserValue value="Rocker_Mount_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Rocker_Mount_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id254" name="Valve Spring:123-702;0,Parts" type="solid">
<Bound id="id257" values="-0.2873985767364502 -0.0646171048283577 0.0324999988079071 0.008999995887279511 0.008993340656161308 0.0324999988079071"></Bound>
<Representation id="id258" format="JT" location="./2_Cylinder_Engine/Valve_Spring_123_702_0_Parts.jt"></Representation></Part>
<Part id="id260" name="Valve_Sub:;0,Parts" instanceRefs="inst1952672 inst1952816 inst1952864" type="assembly">
<UserData id="id266">
<UserValue value="Valve_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Valve_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id268" name="Valve:123-700;0,Parts" type="solid">
<Bound id="id271" values="0.1265590041875839 0.2941140830516815 0 0.05499999970197678 0.01800000295042992 0.01798668131232262"></Bound>
<Representation id="id272" format="JT" location="./2_Cylinder_Engine/Valve_123_700_0_Parts.jt"></Representation></Part>
<Part id="id274" name="Valve Spring Cap:123-704;0,Parts" type="solid">
<Bound id="id277" values="0.2066644430160523 0.2842055261135101 0 0.004499997943639755 0.01600000448524952 0.01598815992474556"></Bound>
<Representation id="id278" format="JT" location="./2_Cylinder_Engine/Valve_Spring_Cap_123_704_0_Parts.jt"></Representation></Part>
<Part id="id280" name="Spring:;0,Parts" instanceRefs="inst1952912 inst1952960 inst1953008 inst1953056 inst1953104 inst1953152 inst1953200 inst1953248 inst1953296 inst1953344" type="assembly">
<UserData id="id286">
<UserValue value="Spring" title="I-DEAS Name"></UserValue>
<UserValue value="Spring:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id288" name="Spring Link:;0,Parts" type="solid">
<Bound id="id291" values="0.1303011178970337 -0.04939981177449226 0.007499259896576405 0.001999998930841684 0.01499851979315281 0.007499259896576405"></Bound>
<Representation id="id292" format="JT" location="./2_Cylinder_Engine/Spring_Link__0_Parts.jt"></Representation></Part>
<Part id="id321" name="Valve_Sub:;0,Parts" instanceRefs="inst1953392 inst1954336 inst1954440" type="assembly">
<UserData id="id333">
<UserValue value="Valve_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:26.00" title="Version Create Date + Time"></UserValue>
<UserValue value="Valve_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id335" name="Spring:;0,Parts" instanceRefs="inst1953576 inst1953624 inst1953672 inst1953720 inst1953768 inst1953816 inst1953920 inst1954024 inst1954128 inst1954232" type="assembly">
<UserData id="id346">
<UserValue value="Spring:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:25.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Spring" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id384" name="Rocker Arm:123-600;0,Parts" type="solid">
<Bound id="id387" values="-0.2874188423156738 -0.1816282123327255 0.04250000044703484 0.03894562274217606 0.01755017042160034 0.04250000044703484"></Bound>
<Representation id="id388" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_123_600_0_Parts.jt"></Representation></Part>
<Part id="id390" name="Rocker Arm_copy:123-602;0,Parts" type="solid">
<Bound id="id393" values="-0.2914990782737732 -0.1816282123327255 0.04250000044703484 0.03894564881920815 0.01755017600953579 0.04250000044703484"></Bound>
<Representation id="id394" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_copy_123_602_0_Parts.jt"></Representation></Part></InstanceGraph></ProductDef></PLMXML>
@@ -1,161 +0,0 @@
<?xml version="1.0" ?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="4" date="2005-01-13" time="18:04:04" author="Vis Mockup 5.1.0">
<ProductDef id="id1">
<UserData id="id12" type="__TCC-VIS_MONIKER_INFO">
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="Path"></UserValue>
<UserValue value="file" title="FA_Protocol"></UserValue>
<UserValue value="C:/Program Files/UGS/JT2Go/Examples/2_Cylinder_Engine_Example/2_Cylinder_Engine.jt" title="object_id"></UserValue>
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="LocalCopy"></UserValue>
<UserValue value="2.0" title="Version"></UserValue>
<UserValue value="local" title="FA_Service"></UserValue>
<UserValue value="No" title="MkIsFolder"></UserValue>
<UserValue value="2_Cylinder_Engine.jt" title="Title"></UserValue>
<UserValue value="DirectModel.Document" title="FileTypeID"></UserValue></UserData>
<InstanceGraph id="id2" rootRefs="inst1931328">
<Instance id="inst1931328" name="2_Cylinder_Engine" partRef="#id14">
<ApplicationRef application="TCC-VIS" label="2_Cylinder_Engine.asm;0;0:"></ApplicationRef>
<UserData id="id18" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id29">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData>
<Transform id="id15">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst1590432" name="Head Stud:123-006;0,Parts" partRef="#id44">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id45">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999868869782 0.1321395188570023 -0.003983345814049244 1</Transform></Instance>
<Instance id="inst1950112" name="Lifter:123-923;0,Parts" partRef="#id50">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id51">2.757793993168889e-013 4.575816179956671e-013 1 0 4.575816179956671e-013 -1 4.575816179956671e-013 0 1 4.575816179956671e-013 -2.757793993168889e-013 0 0.1000000014901161 -0.1338488310575485 0.05437212437391281 1</Transform></Instance>
<Instance id="inst1950928" name="Body Sub:123-002;0,Parts" partRef="#id56">
<ApplicationRef application="TCC-VIS" label="Body Sub:123-002;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id57">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst1950976" name="Case_r:123-200;0,Parts" partRef="#id71">
<ApplicationRef application="TCC-VIS" label="Case_r:123-200;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id72">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst1951024" name="Cylinder_1:123-100;0,Parts" partRef="#id77">
<ApplicationRef application="TCC-VIS" label="Cylinder_1:123-100;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id78">1 -5.031413063960599e-009 -1.553538520049358e-009 0 1.553538409027055e-009 -1.993428355717697e-008 1 0 -5.031413063960599e-009 -1 -1.993428355717697e-008 0 0.1269356608390808 -5.273894387869405e-008 -0.0365588441491127 1</Transform></Instance>
<Instance id="inst1951072" name="Cylinder_2:123-101;0,Parts" partRef="#id83">
<ApplicationRef application="TCC-VIS" label="Cylinder_2:123-101;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id84">-1 -1.490642098644912e-008 -1.665472915135524e-008 0 1.665472915135524e-008 -1.764261092773722e-008 -1 0 1.490642098644912e-008 -1 1.764261092773722e-008 0 -0.1269356608390808 3.299700068737366e-009 0.0365588404238224 1</Transform></Instance>
<Instance id="inst1951120" name="cylinder bolt pattern:;0,Parts" partRef="#id89">
<ApplicationRef application="TCC-VIS" label="cylinder bolt pattern:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id90">2.459232373297482e-009 0.7071067690849304 -0.7071067690849304 0 -4.656259378066352e-009 -0.7071067690849304 -0.7071067690849304 0 -1 5.031412619871389e-009 1.55353274688963e-009 0 0.06499999761581421 0.1287170201539993 -0.003270523622632027 1</Transform></Instance>
<Instance id="inst1951168" name="Head_1:123-150;0,Parts" partRef="#id95">
<ApplicationRef application="TCC-VIS" label="Head_1:123-150;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id96">-1.553133399667672e-009 5.031413063960599e-009 -1 0 5.031413063960599e-009 1 5.031413063960599e-009 0 1 -5.031413063960599e-009 -1.553133399667672e-009 0 0.2239999920129776 0.03048792481422424 0.02500873245298863 1</Transform></Instance>
<Instance id="inst1951264" name="Head2 Sub:;0,Parts" partRef="#id101">
<ApplicationRef application="TCC-VIS" label="Head2 Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id102">1.665474158585312e-008 1.004267005555448e-006 -1 0 -1 -1.666503557373744e-008 -1.665475757306467e-008 0 -1.6665051560949e-008 1 1.004267005555448e-006 0 -0.04826182126998901 -0.05911042168736458 0.03459598124027252 1</Transform></Instance>
<Instance id="inst1951216" name="Head_2:123-151;0,Parts" partRef="#id115">
<ApplicationRef application="TCC-VIS" label="Head_2:123-151;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id116">1 9.947598300641403e-014 -1.004267005555448e-006 0 1.011203266898519e-006 3.500436918102423e-008 0.9999999403953552 0 2.75101122437782e-014 -1 2.288952989822068e-013 0 0.04958733543753624 0.1757381856441498 0.08959835022687912 1</Transform></Instance>
<Instance id="inst1951360" name="Head Nut:123-005;0,Parts" partRef="#id121">
<ApplicationRef application="TCC-VIS" label="Head Nut:123-005;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id122">0.9999898672103882 1.657488901685156e-008 -0.004498782102018595 0 -0.004498789552599192 -1.781053349247941e-008 -0.9999898076057434 0 -1.665473980949628e-008 1 1.726835030524399e-008 0 -0.02312494441866875 0.2477381676435471 0.2203545719385147 1</Transform></Instance>
<Instance id="inst1954648" name="Valve Cover_copy:;0,Main" partRef="#id127">
<ApplicationRef application="TCC-VIS" label="Valve Cover_copy:;0,Main.part;0;0:"></ApplicationRef>
<Transform id="id128">1 -6.184104131534696e-005 -1.004268028736988e-006 0 1.011203266898519e-006 1.773524793691195e-008 0.9999999403953552 0 -6.184104131534696e-005 -1 -1.720678532990405e-008 0 0.05108793079853058 0.325738400220871 0.091098353266716 1</Transform></Instance>
<Instance id="inst1954760" name="Head Nut:123-005;0,Parts" partRef="#id121">
<ApplicationRef application="TCC-VIS" label="Head Nut:123-005;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id133">0.9999933242797852 1.67195413069976e-008 0.003653878346085548 0 0.003653871593996882 -1.767486601522705e-008 -0.9999932646751404 0 -1.665473980949628e-008 1 1.726829879089564e-008 0 0.08119497448205948 0.2477381974458695 0.2201460748910904 1</Transform></Instance>
<Instance id="inst1954920" name="Valve Cover:123-701;0,Parts" partRef="#id136">
<ApplicationRef application="TCC-VIS" label="Valve Cover:123-701;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id137">-1.552728390308289e-009 5.031413063960599e-009 -1 0 5.031413063960599e-009 1 5.031413063960599e-009 0 1 -5.031413063960599e-009 -1.552728390308289e-009 0 0.2239999920129776 0.03198792785406113 0.02350873313844204 1</Transform></Instance>
<Instance id="inst1955032" name="Head Stud:123-006;0,Parts" partRef="#id44">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id142">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999868869782 0.02160527743399143 -0.1053286716341972 1</Transform></Instance>
<Instance id="inst1955144" name="Head Stud:123-006;0,Parts" partRef="#id44">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id145">-5.582201367815287e-013 -0.0009254564647562802 -0.9999995827674866 0 -6.028238463962055e-010 -0.9999995827674866 0.0009254564647562802 0 -1 6.028241239519616e-010 3.326781192647572e-016 0 -0.2949999868869782 0.02149887755513191 0.0004925570683553815 1</Transform></Instance>
<Instance id="inst1955256" name="Head Stud:123-006;0,Parts" partRef="#id44">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id148">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999868869782 0.1238077878952026 -0.100101500749588 1</Transform></Instance>
<Instance id="inst1955368" name="Lifter:123-923;0,Parts" partRef="#id50">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id151">2.757793993168889e-013 4.575816179956671e-013 1 0 4.575816179956671e-013 -1 4.575816179956671e-013 0 1 4.575816179956671e-013 -2.757793993168889e-013 0 0.1000000014901161 -0.1338488310575485 0.03437212482094765 1</Transform></Instance>
<Instance id="inst1955472" name="Lifter:123-923;0,Parts" partRef="#id50">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id154">4.052314039881821e-013 1.110223024625157e-015 1 0 1.110223024625157e-015 1 -1.110223024625157e-015 0 -1 1.110223024625157e-015 4.052314039881821e-013 0 -0.1000000014901161 -0.06615117192268372 0.01437209825962782 1</Transform></Instance>
<Instance id="inst1955576" name="Lifter:123-923;0,Parts" partRef="#id50">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id157">4.052314039881821e-013 1.110223024625157e-015 1 0 1.110223024625157e-015 1 -1.110223024625157e-015 0 -1 1.110223024625157e-015 4.052314039881821e-013 0 -0.1000000014901161 -0.06615117937326431 -0.005627896636724472 1</Transform></Instance>
<Part id="id14" name="2_Cylinder_Engine" instanceRefs="inst1590432 inst1950112 inst1950928 inst1955256 inst1955368 inst1955472 inst1955576" type="assembly">
<UserData id="id31" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id42">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id44" name="Head Stud:123-006;0,Parts" type="solid">
<Bound id="id47" values="-0.03247146308422089 0.07456196844577789 -0.1150000020861626 0.006500001531094313 0.006495191715657711 0.1150000020861626"></Bound>
<Representation id="id48" format="JT" location="./2_Cylinder_Engine/Head_Stud_123_006_0_Parts.jt"></Representation></Part>
<Part id="id50" name="Lifter:123-923;0,Parts" type="solid">
<Bound id="id53" values="-0.02437210455536842 -0.03384878858923912 -0.04250000044703484 0.00774999987334013 0.007749963086098433 0.04250000044703484"></Bound>
<Representation id="id54" format="JT" location="./2_Cylinder_Engine/Lifter_123_923_0_Parts.jt"></Representation></Part>
<Part id="id56" name="Body Sub:123-002;0,Parts" instanceRefs="inst1950976 inst1951024 inst1951072 inst1951120 inst1951168 inst1951264 inst1954920 inst1955032 inst1955144" type="assembly">
<UserData id="id69">
<UserValue value="Body Sub:123-002;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:29.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Body Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-002" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:10:00.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id71" name="Case_r:123-200;0,Parts" type="solid">
<Bound id="id74" values="0 -0.04548577964305878 -0.003500004298985004 0.0949999988079071 0.1354857832193375 0.1164999976754189"></Bound>
<Representation id="id75" format="JT" location="./2_Cylinder_Engine/Case_r_123_200_0_Parts.jt"></Representation></Part>
<Part id="id77" name="Cylinder_1:123-100;0,Parts" type="solid">
<Bound id="id80" values="0.01856433786451817 0.05655883997678757 2.846240931830835e-007 0.08050000667572022 0.0950000062584877 0.08000028133392334"></Bound>
<Representation id="id81" format="JT" location="./2_Cylinder_Engine/Cylinder_1_123_100_0_Parts.jt"></Representation></Part>
<Part id="id83" name="Cylinder_2:123-101;0,Parts" type="solid">
<Bound id="id86" values="0.01856433786451817 0.05655883997678757 2.846240931830835e-007 0.08050000667572022 0.0950000062584877 0.08000028133392334"></Bound>
<Representation id="id87" format="JT" location="./2_Cylinder_Engine/Cylinder_2_123_101_0_Parts.jt"></Representation></Part>
<Part id="id89" name="cylinder bolt pattern:;0,Parts" type="solid">
<Bound id="id92" values="-0.1074714586138725 0.0745619609951973 -0.1150000020861626 0.08149999380111694 0.08149999380111694 0.1150000020861626"></Bound>
<Representation id="id93" format="JT" location="./2_Cylinder_Engine/cylinder_bolt_pattern__0_Parts.jt"></Representation></Part>
<Part id="id95" name="Head_1:123-150;0,Parts" type="solid">
<Bound id="id98" values="0.005008736159652472 -0.03048798069357872 0.04119380190968514 0.1079999953508377 0.09020166844129562 0.0411965511739254"></Bound>
<Representation id="id99" format="JT" location="./2_Cylinder_Engine/Head_1_123_150_0_Parts.jt"></Representation></Part>
<Part id="id101" name="Head2 Sub:;0,Parts" instanceRefs="inst1951216 inst1951360 inst1954648 inst1954760" type="assembly">
<UserData id="id113">
<UserValue value="Head2 Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Head2 Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id115" name="Head_2:123-151;0,Parts" type="solid">
<Bound id="id118" values="0.005008736159652472 -0.03048798069357872 -0.04119383916258812 0.1079999953508377 0.09020166844129562 0.04119651019573212"></Bound>
<Representation id="id119" format="JT" location="./2_Cylinder_Engine/Head_2_123_151_0_Parts.jt"></Representation></Part>
<Part id="id121" name="Head Nut:123-005;0,Parts" type="solid">
<Bound id="id124" values="0.02565165981650353 0.2141639441251755 -0.008499999530613422 0.01200000010430813 0.01199112832546234 0.008499999530613422"></Bound>
<Representation id="id125" format="JT" location="./2_Cylinder_Engine/Head_Nut_123_005_0_Parts.jt"></Representation></Part>
<Part id="id127" name="Valve Cover_copy:;0,Main" type="solid">
<Bound id="id130" values="0.003508739871904254 -0.03198798000812531 0.0386538989841938 0.101500004529953 0.09204161167144775 0.03634610027074814"></Bound>
<Representation id="id131" format="JT" location="./2_Cylinder_Engine/Valve_Cover_copy__0_Main.jt"></Representation></Part>
<Part id="id136" name="Valve Cover:123-701;0,Parts" type="solid">
<Bound id="id139" values="0.003508739871904254 -0.03198803216218948 0.1113460958003998 0.101500004529953 0.09204155951738358 0.03634609654545784"></Bound>
<Representation id="id140" format="JT" location="./2_Cylinder_Engine/Valve_Cover_123_701_0_Parts.jt"></Representation></Part></InstanceGraph></ProductDef></PLMXML>
@@ -1,511 +0,0 @@
<?xml version="1.0" ?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="4" date="2005-02-14" time="21:15:28" author="Vis Mockup 5.1.0">
<ProductDef id="id1">
<UserData id="id12" type="__TCC-VIS_MONIKER_INFO">
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="Path"></UserValue>
<UserValue value="file" title="FA_Protocol"></UserValue>
<UserValue value="C:/Program Files/UGS/JT2Go/Examples/2_Cylinder_Engine_Example/2_Cylinder_Engine.jt" title="object_id"></UserValue>
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="LocalCopy"></UserValue>
<UserValue value="2.0" title="Version"></UserValue>
<UserValue value="local" title="FA_Service"></UserValue>
<UserValue value="No" title="MkIsFolder"></UserValue>
<UserValue value="2_Cylinder_Engine.jt" title="Title"></UserValue>
<UserValue value="DirectModel.Document" title="FileTypeID"></UserValue></UserData>
<InstanceGraph id="id2" rootRefs="inst1798736">
<Instance id="inst1798736" name="2_Cylinder_Engine" partRef="#id14">
<ApplicationRef application="TCC-VIS" label="2_Cylinder_Engine.asm;0;0:"></ApplicationRef>
<UserData id="id20" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id31">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData>
<Transform id="id15">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst1779056" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id47">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999868869782 0.1321395188570023 -0.003983345814049244 1</Transform></Instance>
<Instance id="inst1913768" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id53">2.757793993168889e-013 4.575816179956671e-013 1 0 4.575816179956671e-013 -1 4.575816179956671e-013 0 1 4.575816179956671e-013 -2.757793993168889e-013 0 0.1000000014901161 -0.1338488310575485 0.05437212437391281 1</Transform></Instance>
<Instance id="inst1910440" name="rod:123-699;0,Parts" partRef="#id58">
<ApplicationRef application="TCC-VIS" label="rod:123-699;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id59">0.9861037135124207 -0.1661308258771896 -1.166810754732375e-015 0 0.1661308258771896 0.9861037135124207 -1.062013085640994e-015 0 1.327029577804367e-015 8.534118465009541e-016 1 0 0.07101806253194809 0.02219301462173462 0.02199999988079071 1</Transform></Instance>
<Instance id="inst1937376" name="Piston Sub:;0,Parts" partRef="#id64">
<ApplicationRef application="TCC-VIS" label="Piston Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id65">-1 1.10096191110321e-032 -7.293991291219912e-017 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.1368601024150848 0.06445372104644775 0.003820367390289903 1</Transform></Instance>
<Instance id="inst1912768" name="Piston:123-844;0,Parts" partRef="#id74">
<ApplicationRef application="TCC-VIS" label="Piston:123-844;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id75">-1 -1.334063881586189e-008 7.982825511732017e-010 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.294677197933197 0.07397986948490143 0.01617963239550591 1</Transform></Instance>
<Instance id="inst1865720" name="Piston pin:123-845;0,Parts" partRef="#id83">
<ApplicationRef application="TCC-VIS" label="Piston pin:123-845;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id84">0.9995650053024292 0.02949320152401924 -7.979323313200837e-010 0 -0.0294931884855032 0.9995650053024292 2.354164085893729e-011 0 -3.085015966644567e-015 2.168479519145078e-015 1 0 -0.0453154630959034 -0.02461725845932961 -0.02632036805152893 1</Transform></Instance>
<Instance id="inst1895856" name="Piston Sub:;0,Parts" partRef="#id89">
<ApplicationRef application="TCC-VIS" label="Piston Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id90">1 0 0 0 0 1 0 0 0 0 1 0 0.1368601024150848 -0.06445372104644775 -0.03617963194847107 1</Transform></Instance>
<Instance id="inst1671584" name="Piston:123-844;0,Parts" partRef="#id74">
<ApplicationRef application="TCC-VIS" label="Piston:123-844;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id102">-1 -1.334063881586189e-008 7.041613514502387e-009 0 -1.003604666278664e-019 -1 1.355268465125744e-016 0 -1.736007260287489e-016 1.355268465125744e-016 1 0 -0.294677197933197 0.07397986948490143 0.0161796361207962 1</Transform></Instance>
<Instance id="inst2012776" name="Piston pin:123-845;0,Parts" partRef="#id83">
<ApplicationRef application="TCC-VIS" label="Piston pin:123-845;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id105">0.9995650053024292 0.02949320152401924 -7.038550631222051e-009 0 -0.0294931884855032 0.9995650053024292 2.076799010541919e-010 0 1.57434811062825e-016 -2.681045890006053e-016 1 0 -0.0453154630959034 -0.02461725845932961 -0.02632036432623863 1</Transform></Instance>
<Instance id="inst2026000" name="CamShaft Sub:123-990;0,Parts" partRef="#id108">
<ApplicationRef application="TCC-VIS" label="CamShaft Sub:123-990;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id109">0.7071067690849304 -0.7071067690849304 4.055928498874345e-013 0 0.7071067690849304 0.7071067690849304 6.101357784178425e-016 0 -2.872288724139332e-013 2.863660101149607e-013 1 0 0.04717867448925972 -0.0528213270008564 -0.08894477039575577 1</Transform></Instance>
<Instance id="inst2054176" name="Cam_shaft:123-457;0,Parts" partRef="#id123">
<ApplicationRef application="TCC-VIS" label="Cam_shaft:123-457;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id124">1.214013511940948e-008 -7.440697502580917e-010 1 0 -0.9059386253356934 0.4234090149402618 3.675416633368289e-013 0 -0.4234090149402618 -0.9059386253356934 1.728632428171784e-013 0 -0.03029589354991913 -0.05256131291389465 0.02505522221326828 1</Transform></Instance>
<Instance id="inst1938944" name="cam_gear:123-456;0,Parts" partRef="#id129">
<ApplicationRef application="TCC-VIS" label="cam_gear:123-456;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id130">-0.4234090149402618 -0.9059386253356934 1.726649286873036e-013 0 -0.9059386253356934 0.4234090149402618 3.675724817835818e-013 0 -1.214013511940948e-008 7.440699723026967e-010 -1 0 -0.09059386700391769 -0.02437981590628624 -0.04005522653460503 1</Transform></Instance>
<Instance id="inst1848008" name="Crank_Sub:123-555;0,Parts" partRef="#id135">
<ApplicationRef application="TCC-VIS" label="Crank_Sub:123-555;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id136">-0.5 -0.8660253882408142 -2.979083167524747e-016 0 0.8660253882408142 -0.5 -7.816530680941419e-016 0 5.279772353637604e-016 -6.488226847947026e-016 1 0 0.01809818297624588 -0.06969784200191498 -0.1055598109960556 1</Transform></Instance>
<Instance id="inst1838360" name="crank:123-782;0,Parts" partRef="#id150">
<ApplicationRef application="TCC-VIS" label="crank:123-782;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id151">-0.9390942454338074 0.3436597287654877 1.284025318025572e-016 0 -0.3436597883701325 -0.9390941858291626 -6.660528172495127e-016 0 2.47777798279003e-008 -2.063888393522007e-009 1 0 -0.05131101608276367 -0.05052240565419197 0.1075598075985909 1</Transform></Instance>
<Instance id="inst1857888" name="crank_gear:123-783;0,Parts" partRef="#id156">
<ApplicationRef application="TCC-VIS" label="crank_gear:123-783;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id157">-0.9390942454338074 0.3436597287654877 3.809448359261655e-016 0 -0.3436597883701325 -0.9390941858291626 -2.583991531420675e-015 0 2.47777798279003e-008 -2.063890391923451e-009 1 0 -0.05131101980805397 -0.05052240565419197 -0.01844018884003162 1</Transform></Instance>
<Instance id="inst2010456" name="Body Sub:123-002;0,Parts" partRef="#id162">
<ApplicationRef application="TCC-VIS" label="Body Sub:123-002;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id163">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst2026392" name="Case_r:123-200;0,Parts" partRef="#id179">
<ApplicationRef application="TCC-VIS" label="Case_r:123-200;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id180">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst2026184" name="Cylinder_1:123-100;0,Parts" partRef="#id187">
<ApplicationRef application="TCC-VIS" label="Cylinder_1:123-100;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id188">1 -5.031413063960599e-009 -1.553538520049358e-009 0 1.553538409027055e-009 -1.993428355717697e-008 1 0 -5.031413063960599e-009 -1 -1.993428355717697e-008 0 0.1269356608390808 -5.273894387869405e-008 -0.0365588441491127 1</Transform></Instance>
<Instance id="inst1996904" name="Cylinder_2:123-101;0,Parts" partRef="#id196">
<ApplicationRef application="TCC-VIS" label="Cylinder_2:123-101;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id197">-1 -1.490642098644912e-008 -1.665472915135524e-008 0 1.665472915135524e-008 -1.764261092773722e-008 -1 0 1.490642098644912e-008 -1 1.764261092773722e-008 0 -0.1269356608390808 3.299700068737366e-009 0.0365588404238224 1</Transform></Instance>
<Instance id="inst1858736" name="cylinder bolt pattern:;0,Parts" partRef="#id203">
<ApplicationRef application="TCC-VIS" label="cylinder bolt pattern:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id204">2.459232373297482e-009 0.7071067690849304 -0.7071067690849304 0 -4.656259378066352e-009 -0.7071067690849304 -0.7071067690849304 0 -1 5.031412619871389e-009 1.55353274688963e-009 0 0.06499999761581421 0.1287170201539993 -0.003270523622632027 1</Transform></Instance>
<Instance id="inst1726008" name="Head_1:123-150;0,Parts" partRef="#id209">
<ApplicationRef application="TCC-VIS" label="Head_1:123-150;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id210">-1.553133399667672e-009 5.031413063960599e-009 -1 0 5.031413063960599e-009 1 5.031413063960599e-009 0 1 -5.031413063960599e-009 -1.553133399667672e-009 0 0.2239999920129776 0.03048792481422424 0.02500873245298863 1</Transform></Instance>
<Instance id="inst1729056" name="Head2 Sub:;0,Parts" partRef="#id218">
<ApplicationRef application="TCC-VIS" label="Head2 Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id219">1.665474158585312e-008 1.004267005555448e-006 -1 0 -1 -1.666503557373744e-008 -1.665475757306467e-008 0 -1.6665051560949e-008 1 1.004267005555448e-006 0 -0.04826182126998901 -0.05911042168736458 0.03459598124027252 1</Transform></Instance>
<Instance id="inst1727816" name="Head_2:123-151;0,Parts" partRef="#id232">
<ApplicationRef application="TCC-VIS" label="Head_2:123-151;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id233">1 9.947598300641403e-014 -1.004267005555448e-006 0 1.011203266898519e-006 3.500436918102423e-008 0.9999999403953552 0 2.75101122437782e-014 -1 2.288952989822068e-013 0 0.04958733543753624 0.1757381856441498 0.08959835022687912 1</Transform></Instance>
<Instance id="inst2027256" name="Spark Plug:;0,Parts" partRef="#id239">
<ApplicationRef application="TCC-VIS" label="Spark Plug:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id240">1 9.977915303889529e-014 -9.877358024823479e-007 0 -9.946720638254192e-007 -3.500436562831055e-008 -0.9999999403953552 0 -2.75101122437782e-014 1 -2.288952989822068e-013 0 0.02452629990875721 0.2137382179498673 0.2830735743045807 1</Transform></Instance>
<Instance id="inst1842808" name="Head Nut:123-005;0,Parts" partRef="#id245">
<ApplicationRef application="TCC-VIS" label="Head Nut:123-005;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id246">0.9999898672103882 1.657488901685156e-008 -0.004498782102018595 0 -0.004498789552599192 -1.781053349247941e-008 -0.9999898076057434 0 -1.665473980949628e-008 1 1.726835030524399e-008 0 -0.02312494441866875 0.2477381676435471 0.2203545719385147 1</Transform></Instance>
<Instance id="inst1906944" name="Rocker_Sub:;0,Parts" partRef="#id251">
<ApplicationRef application="TCC-VIS" label="Rocker_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id252">0.9999974370002747 -7.939097296238984e-011 -0.002271066652610898 0 9.118318147522016e-016 1 3.807415215490448e-015 0 0.002271073637530208 3.500404588407946e-008 0.9999973773956299 0 -0.0001340909366263077 -0.01299998629838228 0.0001236627285834402 1</Transform></Instance>
<Instance id="inst2033120" name="Rocker Arm Shaft:123-601;0,Parts" partRef="#id264">
<ApplicationRef application="TCC-VIS" label="Rocker Arm Shaft:123-601;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id265">-0.9999850392341614 -0.004973083734512329 -0.002270016819238663 0 0.004973071627318859 -0.9999875426292419 1.127185623772675e-005 0 -0.002270089229568839 -4.575558421038295e-008 0.9999972581863403 0 0.0487947128713131 0.7686771750450134 -0.02040251158177853 1</Transform></Instance>
<Instance id="inst1789832" name="Rocker_Mount_Sub:;0,Parts" partRef="#id270">
<ApplicationRef application="TCC-VIS" label="Rocker_Mount_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id271">1 -7.424300063618716e-011 1.35305974757749e-010 0 1.276140897124513e-015 0.9999998807907105 4.341043060584901e-016 0 -4.433523059788058e-008 -2.848764957263938e-008 0.9999998211860657 0 -1.748614808505522e-009 -9.381160293031599e-010 -7.228971310446752e-010 1</Transform></Instance>
<Instance id="inst1796000" name="Rocker Mount:123-604;0,Parts" partRef="#id278">
<ApplicationRef application="TCC-VIS" label="Rocker Mount:123-604;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id279">0.9999973773956299 1.651584646822357e-008 0.002270044526085258 0 -1.669391558323241e-008 0.9999998807907105 1.723048725921217e-008 0 -0.002270088996738195 -4.57557440824985e-008 0.9999972581863403 0 0.04950515553355217 0.3443533480167389 0.07959935814142227 1</Transform></Instance>
<Instance id="inst2030512" name="Rocker Mount Cap:123-608;0,Parts" partRef="#id284">
<ApplicationRef application="TCC-VIS" label="Rocker Mount Cap:123-608;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id285">0.9999973773956299 1.651585179729409e-008 0.002270044526085258 0 1.669392091230293e-008 -0.9999998807907105 -1.723048725921217e-008 0 0.002270088996738195 4.57557440824985e-008 -0.9999972581863403 0 0.04947110638022423 0.2571229636669159 0.09459931403398514 1</Transform></Instance>
<Instance id="inst1725832" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id291">0.9984452724456787 1.914222380605679e-008 -0.05574143305420876 0 -0.05574139580130577 4.472066095217997e-008 -0.9984451532363892 0 -1.669391203051873e-008 1 1.723049436463953e-008 0 0.01820174790918827 0.326738178730011 0.2976770401000977 1</Transform></Instance>
<Instance id="inst2029080" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id296">0.9984543323516846 1.913488922866691e-008 -0.05557771772146225 0 -0.05557768046855927 4.472379444564467e-008 -0.998454213142395 0 -1.669391025416189e-008 0.9999998807907105 1.723049436463953e-008 0 0.06816709786653519 0.326738178730011 0.2977887094020844 1</Transform></Instance>
<Instance id="inst2033672" name="Rocker_Mount_Sub:;0,Parts" partRef="#id299">
<ApplicationRef application="TCC-VIS" label="Rocker_Mount_Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id300">1 -7.424300063618716e-011 1.35305974757749e-010 0 1.276140897124513e-015 0.9999998807907105 4.341043060584901e-016 0 -4.433523059788058e-008 -2.848764957263938e-008 0.9999998211860657 0 -4.064914627122107e-009 -1.459414988858043e-008 -0.09999953210353851 1</Transform></Instance>
<Instance id="inst1996808" name="Rocker Mount:123-604;0,Parts" partRef="#id278">
<ApplicationRef application="TCC-VIS" label="Rocker Mount:123-604;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id312">0.9999974370002747 1.662746029751361e-008 0.002270044526085258 0 -1.669391735958925e-008 1.00000011920929 1.723049081192585e-008 0 -0.002270061522722244 -2.438619972622291e-008 0.9999974966049194 0 0.04973216727375984 0.3443534076213837 0.07959914952516556 1</Transform></Instance>
<Instance id="inst1867136" name="Rocker Mount Cap:123-608;0,Parts" partRef="#id284">
<ApplicationRef application="TCC-VIS" label="Rocker Mount Cap:123-608;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id315">0.9999974370002747 1.662746562658413e-008 0.002270044526085258 0 1.669392268865977e-008 -1.00000011920929 -1.723049081192585e-008 0 0.002270061522722244 2.438619972622291e-008 -0.9999974966049194 0 0.0496981143951416 0.2571230232715607 0.09459911286830902 1</Transform></Instance>
<Instance id="inst1948848" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id318">0.9986630082130432 1.791910797521723e-008 -0.05169311910867691 0 -0.05169309675693512 2.345346850063379e-008 -0.998663067817688 0 -1.669391025416189e-008 1.00000011920929 1.72305067991374e-008 0 0.01757495850324631 0.3267382085323334 0.2976291477680206 1</Transform></Instance>
<Instance id="inst1997256" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id321">0.9986716508865356 1.791518755567267e-008 -0.05152621492743492 0 -0.05152619630098343 2.345645455648082e-008 -0.9986717104911804 0 -1.669391025416189e-008 1.00000011920929 1.723049791735321e-008 0 0.06753963232040405 0.3267382085323334 0.2977406084537506 1</Transform></Instance>
<Instance id="inst1949072" name="Rocker Arm Shaft:123-601;0,Parts" partRef="#id264">
<ApplicationRef application="TCC-VIS" label="Rocker Arm Shaft:123-601;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id324">-0.9999873042106628 -0.004487393889576197 -0.00227002170868218 0 0.004487383179366589 -0.9999898076057434 1.016931855701841e-005 0 -0.002270088996738195 -4.575493051106605e-008 0.9999972581863403 0 -0.02998023852705956 0.7686992287635803 -0.02058133110404015 1</Transform></Instance>
<Instance id="inst2052896" name="Valve Spring:123-702;0,Parts" partRef="#id327">
<ApplicationRef application="TCC-VIS" label="Valve Spring:123-702;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id328">-0.821344792842865 -0.3829995691776276 0.4227339625358582 0 -0.3831273019313812 -0.1786547750234604 -0.9062537550926209 0 0.4226182997226715 -0.9063078165054321 -4.468796817036491e-007 0 -0.2707940638065338 0.1454340070486069 0.1220441088080406 1</Transform></Instance>
<Instance id="inst1725624" name="Valve_Sub:;0,Parts" partRef="#id333">
<ApplicationRef application="TCC-VIS" label="Valve_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id334">0.4546822905540466 0.654166042804718 0.6044259667396545 0 -0.8696395754814148 0.4726209938526154 0.1426760256290436 0 -0.1923305839300156 -0.5905050039291382 0.7837809920310974 0 0.09187051653862 0.08063256740570068 0.1662608832120895 1</Transform></Instance>
<Instance id="inst1914472" name="Valve:123-700;0,Parts" partRef="#id341">
<ApplicationRef application="TCC-VIS" label="Valve:123-700;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id342">0.7850326299667358 0.06081443279981613 -0.6164620518684387 0 -0.1356190741062164 0.9878997206687927 -0.07524674385786057 0 0.6044265031814575 0.1426751911640167 0.7837809920310974 0 -0.001248535001650453 -0.2500619888305664 -0.09022713452577591 1</Transform></Instance>
<Instance id="inst1734000" name="Valve Spring Cap:123-704;0,Parts" partRef="#id347">
<ApplicationRef application="TCC-VIS" label="Valve Spring Cap:123-704;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id348">0.7850326299667358 0.06081448495388031 -0.6164620518684387 0 -0.3924773633480072 -0.7211050391197205 -0.5709372162818909 0 -0.4792551398277283 0.6901518106460571 -0.5422225594520569 0 0.0455969013273716 0.2435131669044495 0.06938881427049637 1</Transform></Instance>
<Instance id="inst1730152" name="Spring:;0,Parts" partRef="#id353">
<ApplicationRef application="TCC-VIS" label="Spring:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id354">1 -3.002940829333056e-008 3.437022044749938e-008 0 -4.150651022882812e-008 1.000000238418579 4.017514854126603e-008 0 3.73510147255729e-008 2.773385787691041e-008 1 0 -1.489124112907803e-008 -4.276215381793236e-009 1.08718030134014e-008 1</Transform></Instance>
<Instance id="inst1910040" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id362">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1410751193761826 0.09142301231622696 -0.3314632773399353 1</Transform></Instance>
<Instance id="inst1910640" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id367">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.05227819457650185 0.07644443958997726 -0.1796288043260574 1</Transform></Instance>
<Instance id="inst1911040" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id370">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1347948610782623 0.09093648940324783 -0.3265315294265747 1</Transform></Instance>
<Instance id="inst1911768" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id373">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.05855846777558327 0.07595790922641754 -0.1746970862150192 1</Transform></Instance>
<Instance id="inst1912168" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;4:"></ApplicationRef>
<Transform id="id376">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1285146176815033 0.0904499888420105 -0.3215998709201813 1</Transform></Instance>
<Instance id="inst1912968" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;5:"></ApplicationRef>
<Transform id="id379">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.0648387148976326 0.07547140121459961 -0.1697653979063034 1</Transform></Instance>
<Instance id="inst1920696" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;6:"></ApplicationRef>
<Transform id="id382">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1222343519330025 0.08996346592903137 -0.3166681826114655 1</Transform></Instance>
<Instance id="inst1827264" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;7:"></ApplicationRef>
<Transform id="id385">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.07111898809671402 0.07498487830162048 -0.1648336797952652 1</Transform></Instance>
<Instance id="inst1920976" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;8:"></ApplicationRef>
<Transform id="id388">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1159540787339211 0.08947695046663284 -0.3117364346981049 1</Transform></Instance>
<Instance id="inst1994408" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;9:"></ApplicationRef>
<Transform id="id391">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.07739924639463425 0.07449836283922195 -0.1599020063877106 1</Transform></Instance>
<Instance id="inst1994616" name="Valve_Sub:;0,Parts" partRef="#id394">
<ApplicationRef application="TCC-VIS" label="Valve_Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id395">-0.4546823501586914 0.6541661024093628 -0.6044260263442993 0 0.8696396350860596 0.4726210236549377 -0.1426760405302048 0 0.192330613732338 -0.5905051231384277 -0.7837811708450317 0 0.01489819493144751 0.08582951128482819 -0.04803464561700821 1</Transform></Instance>
<Instance id="inst1995632" name="Spring:;0,Parts" partRef="#id408">
<ApplicationRef application="TCC-VIS" label="Spring:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id409">1 2.298901691233368e-008 -2.432995493961698e-008 0 -3.89851670945518e-008 0.9999998807907105 -1.280528216796029e-008 0 -3.000558379540053e-008 -2.485903749516183e-008 0.9999998807907105 0 -1.494453005790319e-009 -7.655864275868396e-010 -5.496130661697407e-009 1</Transform></Instance>
<Instance id="inst1722840" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;10:"></ApplicationRef>
<Transform id="id421">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1413719058036804 0.08810769766569138 -0.3271084725856781 1</Transform></Instance>
<Instance id="inst1723976" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;11:"></ApplicationRef>
<Transform id="id424">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.05524870008230209 0.07287602126598358 -0.1727083474397659 1</Transform></Instance>
<Instance id="inst1725736" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;12:"></ApplicationRef>
<Transform id="id427">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1366616934537888 0.08774281293153763 -0.3234097063541412 1</Transform></Instance>
<Instance id="inst1995424" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;13:"></ApplicationRef>
<Transform id="id430">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.05995889753103256 0.07251112163066864 -0.1690095812082291 1</Transform></Instance>
<Instance id="inst1726232" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;14:"></ApplicationRef>
<Transform id="id433">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1319515109062195 0.08737793564796448 -0.3197109401226044 1</Transform></Instance>
<Instance id="inst1727160" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;15:"></ApplicationRef>
<Transform id="id436">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.06466909497976303 0.07214623689651489 -0.165310800075531 1</Transform></Instance>
<Instance id="inst1722360" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;16:"></ApplicationRef>
<Transform id="id439">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.127241313457489 0.08701304346323013 -0.3160121440887451 1</Transform></Instance>
<Instance id="inst1995528" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;17:"></ApplicationRef>
<Transform id="id442">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.0693792924284935 0.07178134471178055 -0.1616120338439941 1</Transform></Instance>
<Instance id="inst1995008" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;18:"></ApplicationRef>
<Transform id="id445">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1225311160087585 0.08664815127849579 -0.3123133778572083 1</Transform></Instance>
<Instance id="inst2053416" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;19:"></ApplicationRef>
<Transform id="id448">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.07408948242664337 0.0714164674282074 -0.1579132527112961 1</Transform></Instance>
<Instance id="inst2053208" name="Valve:123-700;0,Parts" partRef="#id341">
<ApplicationRef application="TCC-VIS" label="Valve:123-700;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id451">0.7850325107574463 0.06081444025039673 -0.6164620518684387 0 -0.135619044303894 0.9878994226455689 -0.07524680346250534 0 0.6044264435768127 0.1426751613616943 0.7837807536125183 0 -0.005746716633439064 -0.250409871339798 -0.08668788522481918 1</Transform></Instance>
<Instance id="inst1862560" name="Valve Spring Cap:123-704;0,Parts" partRef="#id347">
<ApplicationRef application="TCC-VIS" label="Valve Spring Cap:123-704;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id454">0.7850325703620911 0.06081447005271912 -0.6164620518684387 0 -0.3681581914424896 -0.7545340657234192 -0.543265700340271 0 -0.498180091381073 0.6534368991851807 -0.5699445009231567 0 0.03418708592653275 0.2526659965515137 0.06506367027759552 1</Transform></Instance>
<Instance id="inst1719832" name="Rocker Arm:123-600;0,Parts" partRef="#id457">
<ApplicationRef application="TCC-VIS" label="Rocker Arm:123-600;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id458">0.9026297330856323 0.4304179251194 -9.149687798526429e-007 0 -0.4304179251194 0.9026297330856323 4.554329109396349e-007 0 1.028840756589489e-006 1.773579327846164e-008 0.9999999403953552 0 0.2777610719203949 0.5800805687904358 -0.005389846861362457 1</Transform></Instance>
<Instance id="inst1729824" name="Rocker Arm_copy:123-602;0,Parts" partRef="#id463">
<ApplicationRef application="TCC-VIS" label="Rocker Arm_copy:123-602;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id464">0.9026297926902771 -0.4304177463054657 -9.298340728491894e-007 0 0.4304177463054657 0.9026297926902771 -4.242589284331189e-007 0 1.028840756589489e-006 1.773579505481848e-008 0.9999999403953552 0 0.3539793193340302 0.3309040069580078 -0.005389927886426449 1</Transform></Instance>
<Instance id="inst1726936" name="Valve Cover_copy:;0,Main" partRef="#id469">
<ApplicationRef application="TCC-VIS" label="Valve Cover_copy:;0,Main.part;0;0:"></ApplicationRef>
<Transform id="id470">1 -6.184104131534696e-005 -1.004268028736988e-006 0 1.011203266898519e-006 1.773524793691195e-008 0.9999999403953552 0 -6.184104131534696e-005 -1 -1.720678532990405e-008 0 0.05108792707324028 0.3257383704185486 0.09109834581613541 1</Transform></Instance>
<Instance id="inst1722616" name="Head Nut:123-005;0,Parts" partRef="#id245">
<ApplicationRef application="TCC-VIS" label="Head Nut:123-005;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id475">0.9999933242797852 1.67195413069976e-008 0.003653878346085548 0 0.003653871593996882 -1.767486601522705e-008 -0.9999932646751404 0 -1.665473980949628e-008 1 1.726829879089564e-008 0 0.08119496703147888 0.2477381825447083 0.2201460599899292 1</Transform></Instance>
<Instance id="inst1760240" name="Valve Spring:123-702;0,Parts" partRef="#id327">
<ApplicationRef application="TCC-VIS" label="Valve Spring:123-702;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id478">-0.8213930130004883 0.3830220103263855 0.4226199984550476 0 -0.3830239772796631 0.1786065548658371 -0.9063069224357605 0 -0.4226182103157044 -0.9063078165054321 4.008188341231289e-007 0 -0.141640841960907 0.3886727094650269 0.1220077648758888 1</Transform></Instance>
<Instance id="inst1724160" name="Valve Cover:123-701;0,Parts" partRef="#id481">
<ApplicationRef application="TCC-VIS" label="Valve Cover:123-701;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id482">-1.552728390308289e-009 5.031413063960599e-009 -1 0 5.031413063960599e-009 1 5.031413063960599e-009 0 1 -5.031413063960599e-009 -1.552728390308289e-009 0 0.2239999771118164 0.03198792412877083 0.02350873127579689 1</Transform></Instance>
<Instance id="inst1723752" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id489">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999570846558 0.02160527557134628 -0.1053286641836166 1</Transform></Instance>
<Instance id="inst1725216" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id492">-5.582201367815287e-013 -0.0009254564647562802 -0.9999995827674866 0 -6.028238463962055e-010 -0.9999995827674866 0.0009254564647562802 0 -1 6.028241239519616e-010 3.326781192647572e-016 0 -0.2949999570846558 0.02149887569248676 0.0004925570683553815 1</Transform></Instance>
<Instance id="inst1758176" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id495">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999570846558 0.123807780444622 -0.1001014932990074 1</Transform></Instance>
<Instance id="inst1919952" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id498">2.757793993168889e-013 4.575816179956671e-013 1 0 4.575816179956671e-013 -1 4.575816179956671e-013 0 1 4.575816179956671e-013 -2.757793993168889e-013 0 0.09999999403953552 -0.1338488161563873 0.03437212482094765 1</Transform></Instance>
<Instance id="inst2053728" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id501">4.052314039881821e-013 1.110223024625157e-015 1 0 1.110223024625157e-015 1 -1.110223024625157e-015 0 -1 1.110223024625157e-015 4.052314039881821e-013 0 -0.09999999403953552 -0.06615116447210312 0.01437209732830524 1</Transform></Instance>
<Instance id="inst2050288" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id504">4.052314039881821e-013 1.110223024625157e-015 1 0 1.110223024625157e-015 1 -1.110223024625157e-015 0 -1 1.110223024625157e-015 4.052314039881821e-013 0 -0.09999999403953552 -0.06615117192268372 -0.005627896171063185 1</Transform></Instance>
<Instance id="inst1998064" name="rod:123-699;0,Parts" partRef="#id58">
<ApplicationRef application="TCC-VIS" label="rod:123-699;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id507">-0.9861037135124207 0.1661308258771896 1.702963710921711e-016 0 -0.1661308258771896 -0.9861037135124207 -3.509013978502231e-016 0 1.096343463342109e-016 -3.743166442952229e-016 1 0 -0.07101806253194809 -0.02219301089644432 -0.01999999769032002 1</Transform></Instance>
<Part id="id14" name="2_Cylinder_Engine" instanceRefs="inst1779056 inst1913768 inst1910440 inst1937376 inst1895856 inst2026000 inst1848008 inst2010456 inst1758176 inst1919952 inst2053728 inst2050288 inst1998064" type="assembly">
<UserData id="id33" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id44">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData>
<Occurrence id="id16" instanceRefs="#inst1798736">
<Transform id="id17">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Occurrence></Part>
<Part id="id46" name="Head Stud:123-006;0,Parts" type="solid">
<Bound id="id49" values="-0.03247146308422089 0.07456196844577789 -0.1150000020861626 0.006500001531094313 0.006495191715657711 0.1150000020861626"></Bound>
<Representation id="id50" format="JT" location="./2_Cylinder_Engine/Head_Stud_123_006_0_Parts.jt"></Representation></Part>
<Part id="id52" name="Lifter:123-923;0,Parts" type="solid">
<Bound id="id55" values="-0.02437210455536842 -0.03384878858923912 -0.04250000044703484 0.00774999987334013 0.007749963086098433 0.04250000044703484"></Bound>
<Representation id="id56" format="JT" location="./2_Cylinder_Engine/Lifter_123_923_0_Parts.jt"></Representation></Part>
<Part id="id58" name="rod:123-699;0,Parts" type="solid">
<Bound id="id61" values="0.02005359902977943 -0.006323420908302069 0 0.09100000560283661 0.03700000047683716 0.009999999776482582"></Bound>
<Representation id="id62" format="JT" location="./2_Cylinder_Engine/rod_123_699_0_Parts.jt"></Representation></Part>
<Part id="id64" name="Piston Sub:;0,Parts" instanceRefs="inst1912768 inst1865720" type="assembly">
<UserData id="id72">
<UserValue value="Piston Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Piston Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData>
<Occurrence id="id66" instanceRefs="#inst1798736 #inst1937376">
<Transform id="id67">-1 -1.334063881586189e-008 -7.982826621955041e-010 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.1368601024150848 0.06445372104644775 0.003820367390289903 1</Transform></Occurrence></Part>
<Part id="id74" name="Piston:123-844;0,Parts" type="solid">
<Bound id="id80" values="0.0101108755916357 0.009526152163743973 0 0.05324159190058708 0.04650000110268593 0.04649999737739563"></Bound>
<Occurrence id="id76" materialRef="id77" instanceRefs="#inst1798736 #inst1937376 #inst1912768">
<Transform id="id78">-1 -3.025554562441357e-008 -3.172106577409295e-009 0 1.10096191110321e-032 -1.00000011920929 -3.018819071267222e-016 0 -7.293991291219912e-017 -3.018819071267222e-016 1.00000011920929 0 -0.2946771681308746 0.07397986948490143 0.01617963425815105 1</Transform></Occurrence>
<Representation id="id81" format="JT" location="./2_Cylinder_Engine/Piston_123_844_0_Parts.jt"></Representation></Part>
<Part id="id83" name="Piston pin:123-845;0,Parts" type="solid">
<Bound id="id86" values="-0.2534925639629364 0.09658930450677872 0.04250000044703484 0.01099999435245991 0.01099186204373837 0.04250000044703484"></Bound>
<Representation id="id87" format="JT" location="./2_Cylinder_Engine/Piston_pin_123_845_0_Parts.jt"></Representation></Part>
<Part id="id89" name="Piston Sub:;0,Parts" instanceRefs="inst1671584 inst2012776" type="assembly">
<UserData id="id100">
<UserValue value="Piston Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:24.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Piston Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id108" name="CamShaft Sub:123-990;0,Parts" instanceRefs="inst2054176 inst1938944" type="assembly">
<UserData id="id121">
<UserValue value="CamShaft Sub:123-990;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:25.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="CamShaft Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-990" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:11:35.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id123" name="Cam_shaft:123-457;0,Parts" type="solid">
<Bound id="id126" values="0.05063954740762711 -0.03493684902787209 -4.356868157628924e-005 0.1267500072717667 0.02063110843300819 0.01902950927615166"></Bound>
<Representation id="id127" format="JT" location="./2_Cylinder_Engine/Cam_shaft_123_457_0_Parts.jt"></Representation></Part>
<Part id="id129" name="cam_gear:123-456;0,Parts" type="solid">
<Bound id="id132" values="0 -0.1000000014901161 -0.002500000409781933 0.06898061186075211 0.06888007372617722 0.01250000018626452"></Bound>
<Representation id="id133" format="JT" location="./2_Cylinder_Engine/cam_gear_123_456_0_Parts.jt"></Representation></Part>
<Part id="id135" name="Crank_Sub:123-555;0,Parts" instanceRefs="inst1838360 inst1857888" type="assembly">
<UserData id="id148">
<UserValue value="Crank_Sub:123-555;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Aug-14-2001 14:13:01.00" title="Version Create Date + Time"></UserValue>
<UserValue value="Crank_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-555" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:13:01.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id150" name="crank:123-782;0,Parts" type="solid">
<Bound id="id153" values="4.847693617193727e-006 0 -0.01325000263750553 0.06299515068531036 0.03500000014901161 0.1267500072717667"></Bound>
<Representation id="id154" format="JT" location="./2_Cylinder_Engine/crank_123_782_0_Parts.jt"></Representation></Part>
<Part id="id156" name="crank_gear:123-783;0,Parts" type="solid">
<Bound id="id159" values="0 -0.0001077877532225102 -0.002500000409781933 0.03597993031144142 0.03586557507514954 0.01250000018626452"></Bound>
<Representation id="id160" format="JT" location="./2_Cylinder_Engine/crank_gear_123_783_0_Parts.jt"></Representation></Part>
<Part id="id162" name="Body Sub:123-002;0,Parts" instanceRefs="inst2026392 inst2026184 inst1996904 inst1858736 inst1726008 inst1729056 inst1724160 inst1723752 inst1725216" type="assembly">
<UserData id="id177">
<UserValue value="Body Sub:123-002;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:29.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Body Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-002" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:10:00.00" title="Version Mod. Date + Time"></UserValue></UserData>
<Occurrence id="id164" instanceRefs="#inst1798736 #inst2010456">
<Transform id="id165">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Occurrence></Part>
<Part id="id179" name="Case_r:123-200;0,Parts" type="solid">
<Bound id="id184" values="0 -0.04548577964305878 -0.003500004298985004 0.0949999988079071 0.1354857832193375 0.1164999976754189"></Bound>
<Occurrence id="id181" materialRef="id182" instanceRefs="#inst1798736 #inst2010456 #inst2026392"></Occurrence>
<Representation id="id185" format="JT" location="./2_Cylinder_Engine/Case_r_123_200_0_Parts.jt"></Representation></Part>
<Part id="id187" name="Cylinder_1:123-100;0,Parts" type="solid">
<Bound id="id193" values="0.01856433786451817 0.05655883997678757 2.846240931830835e-007 0.08050000667572022 0.0950000062584877 0.08000028133392334"></Bound>
<Occurrence id="id189" materialRef="id190" instanceRefs="#inst1798736 #inst2010456 #inst2026184">
<Transform id="id191">1 -5.030475147549396e-009 -8.559119635265233e-008 0 1.553537853915543e-009 -1.993428355717697e-008 1 0 -5.03141173169297e-009 -1 -1.993428355717697e-008 0 0.4018276929855347 0.004671174101531506 -0.01877834275364876 1</Transform></Occurrence>
<Representation id="id194" format="JT" location="./2_Cylinder_Engine/Cylinder_1_123_100_0_Parts.jt"></Representation></Part>
<Part id="id196" name="Cylinder_2:123-101;0,Parts" type="solid">
<Bound id="id200" values="0.01856433786451817 0.05655883997678757 2.846240931830835e-007 0.08050000667572022 0.0950000062584877 0.08000028133392334"></Bound>
<Occurrence id="id198" materialRef="id190" instanceRefs="#inst1798736 #inst2010456 #inst1996904"></Occurrence>
<Representation id="id201" format="JT" location="./2_Cylinder_Engine/Cylinder_2_123_101_0_Parts.jt"></Representation></Part>
<Part id="id203" name="cylinder bolt pattern:;0,Parts" type="solid">
<Bound id="id206" values="-0.1074714586138725 0.0745619609951973 -0.1150000020861626 0.08149999380111694 0.08149999380111694 0.1150000020861626"></Bound>
<Representation id="id207" format="JT" location="./2_Cylinder_Engine/cylinder_bolt_pattern__0_Parts.jt"></Representation></Part>
<Part id="id209" name="Head_1:123-150;0,Parts" type="solid">
<Bound id="id215" values="0.005008736159652472 -0.03048798069357872 0.04119380190968514 0.1079999953508377 0.09020166844129562 0.0411965511739254"></Bound>
<Occurrence id="id211" materialRef="id212" instanceRefs="#inst1798736 #inst2010456 #inst1726008">
<Transform id="id213">-1.553142503496474e-009 5.031413952139019e-009 -1 0 5.031442373848449e-009 1 5.031413063960599e-009 0 1 -7.856474439904559e-007 -1.082494804904854e-007 0 0.5421041250228882 0.03720489889383316 0.04404613375663757 1</Transform></Occurrence>
<Representation id="id216" format="JT" location="./2_Cylinder_Engine/Head_1_123_150_0_Parts.jt"></Representation></Part>
<Part id="id218" name="Head2 Sub:;0,Parts" instanceRefs="inst1727816 inst2027256 inst1842808 inst1906944 inst2052896 inst1725624 inst1994616 inst1719832 inst1729824 inst1726936 inst1722616 inst1760240" type="assembly">
<UserData id="id230">
<UserValue value="Head2 Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Head2 Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id232" name="Head_2:123-151;0,Parts" type="solid">
<Bound id="id236" values="0.005008736159652472 -0.03048798069357872 -0.04119383916258812 0.1079999953508377 0.09020166844129562 0.04119651019573212"></Bound>
<Occurrence id="id234" materialRef="id212" instanceRefs="#inst1798736 #inst2010456 #inst1729056 #inst1727816"></Occurrence>
<Representation id="id237" format="JT" location="./2_Cylinder_Engine/Head_2_123_151_0_Parts.jt"></Representation></Part>
<Part id="id239" name="Spark Plug:;0,Parts" type="solid">
<Bound id="id242" values="0.03006996028125286 0.2239631712436676 0.02060705050826073 0.01078151073306799 0.009165501222014427 0.0493929535150528"></Bound>
<Representation id="id243" format="JT" location="./2_Cylinder_Engine/Spark_Plug__0_Parts.jt"></Representation></Part>
<Part id="id245" name="Head Nut:123-005;0,Parts" type="solid">
<Bound id="id248" values="0.02565165981650353 0.2141639441251755 -0.008499999530613422 0.01200000010430813 0.01199112832546234 0.008499999530613422"></Bound>
<Representation id="id249" format="JT" location="./2_Cylinder_Engine/Head_Nut_123_005_0_Parts.jt"></Representation></Part>
<Part id="id251" name="Rocker_Sub:;0,Parts" instanceRefs="inst2033120 inst1789832 inst2033672 inst1949072" type="assembly">
<UserData id="id262">
<UserValue value="Rocker_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Rocker_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id264" name="Rocker Arm Shaft:123-601;0,Parts" type="solid">
<Bound id="id267" values="-0.04317900538444519 0.4631594121456146 0.05750000104308128 0.006500000134110451 0.006495170295238495 0.05750000104308128"></Bound>
<Representation id="id268" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_Shaft_123_601_0_Parts.jt"></Representation></Part>
<Part id="id270" name="Rocker_Mount_Sub:;0,Parts" instanceRefs="inst1796000 inst2030512 inst1725832 inst2029080" type="assembly">
<UserData id="id276">
<UserValue value="Rocker_Mount_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Rocker_Mount_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id278" name="Rocker Mount:123-604;0,Parts" type="solid">
<Bound id="id281" values="0.005044352263212204 -0.05961518362164497 0.007500000298023224 0.0494999997317791 0.02099999971687794 0.007500000298023224"></Bound>
<Representation id="id282" format="JT" location="./2_Cylinder_Engine/Rocker_Mount_123_604_0_Parts.jt"></Representation></Part>
<Part id="id284" name="Rocker Mount Cap:123-608;0,Parts" type="solid">
<Bound id="id287" values="0.005044352263212204 -0.05511518567800522 0.007500000298023224 0.0494999997317791 0.006499998271465302 0.007500000298023224"></Bound>
<Representation id="id288" format="JT" location="./2_Cylinder_Engine/Rocker_Mount_Cap_123_608_0_Parts.jt"></Representation></Part>
<Part id="id290" name="Rocker Bolt:123-603;0,Parts" type="solid">
<Bound id="id293" values="0.02305358275771141 0.2096639275550842 -0.04050000011920929 0.007499999366700649 0.007494449149817228 0.04050000011920929"></Bound>
<Representation id="id294" format="JT" location="./2_Cylinder_Engine/Rocker_Bolt_123_603_0_Parts.jt"></Representation></Part>
<Part id="id299" name="Rocker_Mount_Sub:;0,Parts" instanceRefs="inst1996808 inst1867136 inst1948848 inst1997256" type="assembly">
<UserData id="id310">
<UserValue value="Rocker_Mount_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Rocker_Mount_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id327" name="Valve Spring:123-702;0,Parts" type="solid">
<Bound id="id330" values="-0.2873985767364502 -0.0646171048283577 0.0324999988079071 0.008999995887279511 0.008993340656161308 0.0324999988079071"></Bound>
<Representation id="id331" format="JT" location="./2_Cylinder_Engine/Valve_Spring_123_702_0_Parts.jt"></Representation></Part>
<Part id="id333" name="Valve_Sub:;0,Parts" instanceRefs="inst1914472 inst1734000 inst1730152" type="assembly">
<UserData id="id339">
<UserValue value="Valve_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Valve_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id341" name="Valve:123-700;0,Parts" type="solid">
<Bound id="id344" values="0.1265590041875839 0.2941140830516815 0 0.05499999970197678 0.01800000295042992 0.01798668131232262"></Bound>
<Representation id="id345" format="JT" location="./2_Cylinder_Engine/Valve_123_700_0_Parts.jt"></Representation></Part>
<Part id="id347" name="Valve Spring Cap:123-704;0,Parts" type="solid">
<Bound id="id350" values="0.2066644430160523 0.2842055261135101 0 0.004499997943639755 0.01600000448524952 0.01598815992474556"></Bound>
<Representation id="id351" format="JT" location="./2_Cylinder_Engine/Valve_Spring_Cap_123_704_0_Parts.jt"></Representation></Part>
<Part id="id353" name="Spring:;0,Parts" instanceRefs="inst1910040 inst1910640 inst1911040 inst1911768 inst1912168 inst1912968 inst1920696 inst1827264 inst1920976 inst1994408" type="assembly">
<UserData id="id359">
<UserValue value="Spring" title="I-DEAS Name"></UserValue>
<UserValue value="Spring:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id361" name="Spring Link:;0,Parts" type="solid">
<Bound id="id364" values="0.1303011178970337 -0.04939981177449226 0.007499259896576405 0.001999998930841684 0.01499851979315281 0.007499259896576405"></Bound>
<Representation id="id365" format="JT" location="./2_Cylinder_Engine/Spring_Link__0_Parts.jt"></Representation></Part>
<Part id="id394" name="Valve_Sub:;0,Parts" instanceRefs="inst1995632 inst2053208 inst1862560" type="assembly">
<UserData id="id406">
<UserValue value="Valve_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:26.00" title="Version Create Date + Time"></UserValue>
<UserValue value="Valve_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id408" name="Spring:;0,Parts" instanceRefs="inst1722840 inst1723976 inst1725736 inst1995424 inst1726232 inst1727160 inst1722360 inst1995528 inst1995008 inst2053416" type="assembly">
<UserData id="id419">
<UserValue value="Spring:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:25.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Spring" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id457" name="Rocker Arm:123-600;0,Parts" type="solid">
<Bound id="id460" values="-0.2874188423156738 -0.1816282123327255 0.04250000044703484 0.03894562274217606 0.01755017042160034 0.04250000044703484"></Bound>
<Representation id="id461" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_123_600_0_Parts.jt"></Representation></Part>
<Part id="id463" name="Rocker Arm_copy:123-602;0,Parts" type="solid">
<Bound id="id466" values="-0.2914990782737732 -0.1816282123327255 0.04250000044703484 0.03894564881920815 0.01755017600953579 0.04250000044703484"></Bound>
<Representation id="id467" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_copy_123_602_0_Parts.jt"></Representation></Part>
<Part id="id469" name="Valve Cover_copy:;0,Main" type="solid">
<Bound id="id472" values="0.003508739871904254 -0.03198798000812531 0.0386538989841938 0.101500004529953 0.09204161167144775 0.03634610027074814"></Bound>
<Representation id="id473" format="JT" location="./2_Cylinder_Engine/Valve_Cover_copy__0_Main.jt"></Representation></Part>
<Part id="id481" name="Valve Cover:123-701;0,Parts" type="solid">
<Bound id="id486" values="0.003508739871904254 -0.03198803216218948 0.1113460958003998 0.101500004529953 0.09204155951738358 0.03634609654545784"></Bound>
<Occurrence id="id483" instanceRefs="#inst1798736 #inst2010456 #inst1724160">
<Transform id="id484">-1.552729944620523e-009 5.031413063960599e-009 -1 0 5.0314401534024e-009 1 5.031413063960599e-009 0 1 -3.418919334308157e-007 -1.096145751944277e-007 0 0.6029092669487 0.04294551536440849 0.04271972924470902 1</Transform></Occurrence>
<Representation id="id487" format="JT" location="./2_Cylinder_Engine/Valve_Cover_123_701_0_Parts.jt"></Representation></Part></InstanceGraph>
<Material id="id77" diffuse="1 0 1" specular="1 0 1" emissive="0 0 0" ambient="0 0 0" shininess="96" alpha="0.1000000238418579"></Material>
<Material id="id182" diffuse="0.847058892250061 0.847058892250061 0.847058892250061" specular="0.8000000715255737 0.8000000715255737 0.8000000715255737" emissive="0 0 0" ambient="0.1490196138620377 0.1490196138620377 0.1490196138620377" shininess="96" alpha="0.5"></Material>
<Material id="id190" diffuse="0.6509804129600525 0.7921569347381592 0.9411765336990356" specular="0.6509804129600525 0.7921569347381592 0.9411765336990356" emissive="0 0 0" ambient="0.1490196138620377 0.1490196138620377 0.1490196138620377" shininess="96" alpha="0.5"></Material>
<Material id="id212" diffuse="1 0 0" specular="1 0 0" emissive="0 0 0" ambient="0.1490196138620377 0.1490196138620377 0.1490196138620377" shininess="96" alpha="0.5"></Material></ProductDef></PLMXML>
-511
View File
@@ -1,511 +0,0 @@
<?xml version="1.0" ?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="4" date="2005-02-14" time="21:15:28" author="Vis Mockup 5.1.0">
<ProductDef id="id1">
<UserData id="id12" type="__TCC-VIS_MONIKER_INFO">
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="Path"></UserValue>
<UserValue value="file" title="FA_Protocol"></UserValue>
<UserValue value="C:/Program Files/UGS/JT2Go/Examples/2_Cylinder_Engine_Example/2_Cylinder_Engine.jt" title="object_id"></UserValue>
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="LocalCopy"></UserValue>
<UserValue value="2.0" title="Version"></UserValue>
<UserValue value="local" title="FA_Service"></UserValue>
<UserValue value="No" title="MkIsFolder"></UserValue>
<UserValue value="2_Cylinder_Engine.jt" title="Title"></UserValue>
<UserValue value="DirectModel.Document" title="FileTypeID"></UserValue></UserData>
<InstanceGraph id="id2" rootRefs="inst1798736">
<Instance id="inst1798736" name="2_Cylinder_Engine" partRef="#id14">
<ApplicationRef application="TCC-VIS" label="2_Cylinder_Engine.asm;0;0:"></ApplicationRef>
<UserData id="id20" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id31">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData>
<Transform id="id15">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst1779056" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id47">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999868869782 0.1321395188570023 -0.003983345814049244 1</Transform></Instance>
<Instance id="inst1913768" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id53">2.757793993168889e-013 4.575816179956671e-013 1 0 4.575816179956671e-013 -1 4.575816179956671e-013 0 1 4.575816179956671e-013 -2.757793993168889e-013 0 0.1000000014901161 -0.1338488310575485 0.05437212437391281 1</Transform></Instance>
<Instance id="inst1910440" name="rod:123-699;0,Parts" partRef="#id58">
<ApplicationRef application="TCC-VIS" label="rod:123-699;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id59">0.9861037135124207 -0.1661308258771896 -1.166810754732375e-015 0 0.1661308258771896 0.9861037135124207 -1.062013085640994e-015 0 1.327029577804367e-015 8.534118465009541e-016 1 0 0.07101806253194809 0.02219301462173462 0.02199999988079071 1</Transform></Instance>
<Instance id="inst1937376" name="Piston Sub:;0,Parts" partRef="#id64">
<ApplicationRef application="TCC-VIS" label="Piston Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id65">-1 1.10096191110321e-032 -7.293991291219912e-017 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.1368601024150848 0.06445372104644775 0.003820367390289903 1</Transform></Instance>
<Instance id="inst1912768" name="Piston:123-844;0,Parts" partRef="#id74">
<ApplicationRef application="TCC-VIS" label="Piston:123-844;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id75">-1 -1.334063881586189e-008 7.982825511732017e-010 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.294677197933197 0.07397986948490143 0.01617963239550591 1</Transform></Instance>
<Instance id="inst1865720" name="Piston pin:123-845;0,Parts" partRef="#id83">
<ApplicationRef application="TCC-VIS" label="Piston pin:123-845;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id84">0.9995650053024292 0.02949320152401924 -7.979323313200837e-010 0 -0.0294931884855032 0.9995650053024292 2.354164085893729e-011 0 -3.085015966644567e-015 2.168479519145078e-015 1 0 -0.0453154630959034 -0.02461725845932961 -0.02632036805152893 1</Transform></Instance>
<Instance id="inst1895856" name="Piston Sub:;0,Parts" partRef="#id89">
<ApplicationRef application="TCC-VIS" label="Piston Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id90">1 0 0 0 0 1 0 0 0 0 1 0 0.1368601024150848 -0.06445372104644775 -0.03617963194847107 1</Transform></Instance>
<Instance id="inst1671584" name="Piston:123-844;0,Parts" partRef="#id74">
<ApplicationRef application="TCC-VIS" label="Piston:123-844;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id102">-1 -1.334063881586189e-008 7.041613514502387e-009 0 -1.003604666278664e-019 -1 1.355268465125744e-016 0 -1.736007260287489e-016 1.355268465125744e-016 1 0 -0.294677197933197 0.07397986948490143 0.0161796361207962 1</Transform></Instance>
<Instance id="inst2012776" name="Piston pin:123-845;0,Parts" partRef="#id83">
<ApplicationRef application="TCC-VIS" label="Piston pin:123-845;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id105">0.9995650053024292 0.02949320152401924 -7.038550631222051e-009 0 -0.0294931884855032 0.9995650053024292 2.076799010541919e-010 0 1.57434811062825e-016 -2.681045890006053e-016 1 0 -0.0453154630959034 -0.02461725845932961 -0.02632036432623863 1</Transform></Instance>
<Instance id="inst2026000" name="CamShaft Sub:123-990;0,Parts" partRef="#id108">
<ApplicationRef application="TCC-VIS" label="CamShaft Sub:123-990;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id109">0.7071067690849304 -0.7071067690849304 4.055928498874345e-013 0 0.7071067690849304 0.7071067690849304 6.101357784178425e-016 0 -2.872288724139332e-013 2.863660101149607e-013 1 0 0.04717867448925972 -0.0528213270008564 -0.08894477039575577 1</Transform></Instance>
<Instance id="inst2054176" name="Cam_shaft:123-457;0,Parts" partRef="#id123">
<ApplicationRef application="TCC-VIS" label="Cam_shaft:123-457;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id124">1.214013511940948e-008 -7.440697502580917e-010 1 0 -0.9059386253356934 0.4234090149402618 3.675416633368289e-013 0 -0.4234090149402618 -0.9059386253356934 1.728632428171784e-013 0 -0.03029589354991913 -0.05256131291389465 0.02505522221326828 1</Transform></Instance>
<Instance id="inst1938944" name="cam_gear:123-456;0,Parts" partRef="#id129">
<ApplicationRef application="TCC-VIS" label="cam_gear:123-456;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id130">-0.4234090149402618 -0.9059386253356934 1.726649286873036e-013 0 -0.9059386253356934 0.4234090149402618 3.675724817835818e-013 0 -1.214013511940948e-008 7.440699723026967e-010 -1 0 -0.09059386700391769 -0.02437981590628624 -0.04005522653460503 1</Transform></Instance>
<Instance id="inst1848008" name="Crank_Sub:123-555;0,Parts" partRef="#id135">
<ApplicationRef application="TCC-VIS" label="Crank_Sub:123-555;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id136">-0.5 -0.8660253882408142 -2.979083167524747e-016 0 0.8660253882408142 -0.5 -7.816530680941419e-016 0 5.279772353637604e-016 -6.488226847947026e-016 1 0 0.01809818297624588 -0.06969784200191498 -0.1055598109960556 1</Transform></Instance>
<Instance id="inst1838360" name="crank:123-782;0,Parts" partRef="#id150">
<ApplicationRef application="TCC-VIS" label="crank:123-782;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id151">-0.9390942454338074 0.3436597287654877 1.284025318025572e-016 0 -0.3436597883701325 -0.9390941858291626 -6.660528172495127e-016 0 2.47777798279003e-008 -2.063888393522007e-009 1 0 -0.05131101608276367 -0.05052240565419197 0.1075598075985909 1</Transform></Instance>
<Instance id="inst1857888" name="crank_gear:123-783;0,Parts" partRef="#id156">
<ApplicationRef application="TCC-VIS" label="crank_gear:123-783;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id157">-0.9390942454338074 0.3436597287654877 3.809448359261655e-016 0 -0.3436597883701325 -0.9390941858291626 -2.583991531420675e-015 0 2.47777798279003e-008 -2.063890391923451e-009 1 0 -0.05131101980805397 -0.05052240565419197 -0.01844018884003162 1</Transform></Instance>
<Instance id="inst2010456" name="Body Sub:123-002;0,Parts" partRef="#id162">
<ApplicationRef application="TCC-VIS" label="Body Sub:123-002;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id163">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst2026392" name="Case_r:123-200;0,Parts" partRef="#id179">
<ApplicationRef application="TCC-VIS" label="Case_r:123-200;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id180">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst2026184" name="Cylinder_1:123-100;0,Parts" partRef="#id187">
<ApplicationRef application="TCC-VIS" label="Cylinder_1:123-100;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id188">1 -5.031413063960599e-009 -1.553538520049358e-009 0 1.553538409027055e-009 -1.993428355717697e-008 1 0 -5.031413063960599e-009 -1 -1.993428355717697e-008 0 0.1269356608390808 -5.273894387869405e-008 -0.0365588441491127 1</Transform></Instance>
<Instance id="inst1996904" name="Cylinder_2:123-101;0,Parts" partRef="#id196">
<ApplicationRef application="TCC-VIS" label="Cylinder_2:123-101;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id197">-1 -1.490642098644912e-008 -1.665472915135524e-008 0 1.665472915135524e-008 -1.764261092773722e-008 -1 0 1.490642098644912e-008 -1 1.764261092773722e-008 0 -0.1269356608390808 3.299700068737366e-009 0.0365588404238224 1</Transform></Instance>
<Instance id="inst1858736" name="cylinder bolt pattern:;0,Parts" partRef="#id203">
<ApplicationRef application="TCC-VIS" label="cylinder bolt pattern:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id204">2.459232373297482e-009 0.7071067690849304 -0.7071067690849304 0 -4.656259378066352e-009 -0.7071067690849304 -0.7071067690849304 0 -1 5.031412619871389e-009 1.55353274688963e-009 0 0.06499999761581421 0.1287170201539993 -0.003270523622632027 1</Transform></Instance>
<Instance id="inst1726008" name="Head_1:123-150;0,Parts" partRef="#id209">
<ApplicationRef application="TCC-VIS" label="Head_1:123-150;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id210">-1.553133399667672e-009 5.031413063960599e-009 -1 0 5.031413063960599e-009 1 5.031413063960599e-009 0 1 -5.031413063960599e-009 -1.553133399667672e-009 0 0.2239999920129776 0.03048792481422424 0.02500873245298863 1</Transform></Instance>
<Instance id="inst1729056" name="Head2 Sub:;0,Parts" partRef="#id218">
<ApplicationRef application="TCC-VIS" label="Head2 Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id219">1.665474158585312e-008 1.004267005555448e-006 -1 0 -1 -1.666503557373744e-008 -1.665475757306467e-008 0 -1.6665051560949e-008 1 1.004267005555448e-006 0 -0.04826182126998901 -0.05911042168736458 0.03459598124027252 1</Transform></Instance>
<Instance id="inst1727816" name="Head_2:123-151;0,Parts" partRef="#id232">
<ApplicationRef application="TCC-VIS" label="Head_2:123-151;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id233">1 9.947598300641403e-014 -1.004267005555448e-006 0 1.011203266898519e-006 3.500436918102423e-008 0.9999999403953552 0 2.75101122437782e-014 -1 2.288952989822068e-013 0 0.04958733543753624 0.1757381856441498 0.08959835022687912 1</Transform></Instance>
<Instance id="inst2027256" name="Spark Plug:;0,Parts" partRef="#id239">
<ApplicationRef application="TCC-VIS" label="Spark Plug:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id240">1 9.977915303889529e-014 -9.877358024823479e-007 0 -9.946720638254192e-007 -3.500436562831055e-008 -0.9999999403953552 0 -2.75101122437782e-014 1 -2.288952989822068e-013 0 0.02452629990875721 0.2137382179498673 0.2830735743045807 1</Transform></Instance>
<Instance id="inst1842808" name="Head Nut:123-005;0,Parts" partRef="#id245">
<ApplicationRef application="TCC-VIS" label="Head Nut:123-005;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id246">0.9999898672103882 1.657488901685156e-008 -0.004498782102018595 0 -0.004498789552599192 -1.781053349247941e-008 -0.9999898076057434 0 -1.665473980949628e-008 1 1.726835030524399e-008 0 -0.02312494441866875 0.2477381676435471 0.2203545719385147 1</Transform></Instance>
<Instance id="inst1906944" name="Rocker_Sub:;0,Parts" partRef="#id251">
<ApplicationRef application="TCC-VIS" label="Rocker_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id252">0.9999974370002747 -7.939097296238984e-011 -0.002271066652610898 0 9.118318147522016e-016 1 3.807415215490448e-015 0 0.002271073637530208 3.500404588407946e-008 0.9999973773956299 0 -0.0001340909366263077 -0.01299998629838228 0.0001236627285834402 1</Transform></Instance>
<Instance id="inst2033120" name="Rocker Arm Shaft:123-601;0,Parts" partRef="#id264">
<ApplicationRef application="TCC-VIS" label="Rocker Arm Shaft:123-601;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id265">-0.9999850392341614 -0.004973083734512329 -0.002270016819238663 0 0.004973071627318859 -0.9999875426292419 1.127185623772675e-005 0 -0.002270089229568839 -4.575558421038295e-008 0.9999972581863403 0 0.0487947128713131 0.7686771750450134 -0.02040251158177853 1</Transform></Instance>
<Instance id="inst1789832" name="Rocker_Mount_Sub:;0,Parts" partRef="#id270">
<ApplicationRef application="TCC-VIS" label="Rocker_Mount_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id271">1 -7.424300063618716e-011 1.35305974757749e-010 0 1.276140897124513e-015 0.9999998807907105 4.341043060584901e-016 0 -4.433523059788058e-008 -2.848764957263938e-008 0.9999998211860657 0 -1.748614808505522e-009 -9.381160293031599e-010 -7.228971310446752e-010 1</Transform></Instance>
<Instance id="inst1796000" name="Rocker Mount:123-604;0,Parts" partRef="#id278">
<ApplicationRef application="TCC-VIS" label="Rocker Mount:123-604;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id279">0.9999973773956299 1.651584646822357e-008 0.002270044526085258 0 -1.669391558323241e-008 0.9999998807907105 1.723048725921217e-008 0 -0.002270088996738195 -4.57557440824985e-008 0.9999972581863403 0 0.04950515553355217 0.3443533480167389 0.07959935814142227 1</Transform></Instance>
<Instance id="inst2030512" name="Rocker Mount Cap:123-608;0,Parts" partRef="#id284">
<ApplicationRef application="TCC-VIS" label="Rocker Mount Cap:123-608;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id285">0.9999973773956299 1.651585179729409e-008 0.002270044526085258 0 1.669392091230293e-008 -0.9999998807907105 -1.723048725921217e-008 0 0.002270088996738195 4.57557440824985e-008 -0.9999972581863403 0 0.04947110638022423 0.2571229636669159 0.09459931403398514 1</Transform></Instance>
<Instance id="inst1725832" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id291">0.9984452724456787 1.914222380605679e-008 -0.05574143305420876 0 -0.05574139580130577 4.472066095217997e-008 -0.9984451532363892 0 -1.669391203051873e-008 1 1.723049436463953e-008 0 0.01820174790918827 0.326738178730011 0.2976770401000977 1</Transform></Instance>
<Instance id="inst2029080" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id296">0.9984543323516846 1.913488922866691e-008 -0.05557771772146225 0 -0.05557768046855927 4.472379444564467e-008 -0.998454213142395 0 -1.669391025416189e-008 0.9999998807907105 1.723049436463953e-008 0 0.06816709786653519 0.326738178730011 0.2977887094020844 1</Transform></Instance>
<Instance id="inst2033672" name="Rocker_Mount_Sub:;0,Parts" partRef="#id299">
<ApplicationRef application="TCC-VIS" label="Rocker_Mount_Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id300">1 -7.424300063618716e-011 1.35305974757749e-010 0 1.276140897124513e-015 0.9999998807907105 4.341043060584901e-016 0 -4.433523059788058e-008 -2.848764957263938e-008 0.9999998211860657 0 -4.064914627122107e-009 -1.459414988858043e-008 -0.09999953210353851 1</Transform></Instance>
<Instance id="inst1996808" name="Rocker Mount:123-604;0,Parts" partRef="#id278">
<ApplicationRef application="TCC-VIS" label="Rocker Mount:123-604;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id312">0.9999974370002747 1.662746029751361e-008 0.002270044526085258 0 -1.669391735958925e-008 1.00000011920929 1.723049081192585e-008 0 -0.002270061522722244 -2.438619972622291e-008 0.9999974966049194 0 0.04973216727375984 0.3443534076213837 0.07959914952516556 1</Transform></Instance>
<Instance id="inst1867136" name="Rocker Mount Cap:123-608;0,Parts" partRef="#id284">
<ApplicationRef application="TCC-VIS" label="Rocker Mount Cap:123-608;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id315">0.9999974370002747 1.662746562658413e-008 0.002270044526085258 0 1.669392268865977e-008 -1.00000011920929 -1.723049081192585e-008 0 0.002270061522722244 2.438619972622291e-008 -0.9999974966049194 0 0.0496981143951416 0.2571230232715607 0.09459911286830902 1</Transform></Instance>
<Instance id="inst1948848" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id318">0.9986630082130432 1.791910797521723e-008 -0.05169311910867691 0 -0.05169309675693512 2.345346850063379e-008 -0.998663067817688 0 -1.669391025416189e-008 1.00000011920929 1.72305067991374e-008 0 0.01757495850324631 0.3267382085323334 0.2976291477680206 1</Transform></Instance>
<Instance id="inst1997256" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id321">0.9986716508865356 1.791518755567267e-008 -0.05152621492743492 0 -0.05152619630098343 2.345645455648082e-008 -0.9986717104911804 0 -1.669391025416189e-008 1.00000011920929 1.723049791735321e-008 0 0.06753963232040405 0.3267382085323334 0.2977406084537506 1</Transform></Instance>
<Instance id="inst1949072" name="Rocker Arm Shaft:123-601;0,Parts" partRef="#id264">
<ApplicationRef application="TCC-VIS" label="Rocker Arm Shaft:123-601;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id324">-0.9999873042106628 -0.004487393889576197 -0.00227002170868218 0 0.004487383179366589 -0.9999898076057434 1.016931855701841e-005 0 -0.002270088996738195 -4.575493051106605e-008 0.9999972581863403 0 -0.02998023852705956 0.7686992287635803 -0.02058133110404015 1</Transform></Instance>
<Instance id="inst2052896" name="Valve Spring:123-702;0,Parts" partRef="#id327">
<ApplicationRef application="TCC-VIS" label="Valve Spring:123-702;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id328">-0.821344792842865 -0.3829995691776276 0.4227339625358582 0 -0.3831273019313812 -0.1786547750234604 -0.9062537550926209 0 0.4226182997226715 -0.9063078165054321 -4.468796817036491e-007 0 -0.2707940638065338 0.1454340070486069 0.1220441088080406 1</Transform></Instance>
<Instance id="inst1725624" name="Valve_Sub:;0,Parts" partRef="#id333">
<ApplicationRef application="TCC-VIS" label="Valve_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id334">0.4546822905540466 0.654166042804718 0.6044259667396545 0 -0.8696395754814148 0.4726209938526154 0.1426760256290436 0 -0.1923305839300156 -0.5905050039291382 0.7837809920310974 0 0.09187051653862 0.08063256740570068 0.1662608832120895 1</Transform></Instance>
<Instance id="inst1914472" name="Valve:123-700;0,Parts" partRef="#id341">
<ApplicationRef application="TCC-VIS" label="Valve:123-700;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id342">0.7850326299667358 0.06081443279981613 -0.6164620518684387 0 -0.1356190741062164 0.9878997206687927 -0.07524674385786057 0 0.6044265031814575 0.1426751911640167 0.7837809920310974 0 -0.001248535001650453 -0.2500619888305664 -0.09022713452577591 1</Transform></Instance>
<Instance id="inst1734000" name="Valve Spring Cap:123-704;0,Parts" partRef="#id347">
<ApplicationRef application="TCC-VIS" label="Valve Spring Cap:123-704;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id348">0.7850326299667358 0.06081448495388031 -0.6164620518684387 0 -0.3924773633480072 -0.7211050391197205 -0.5709372162818909 0 -0.4792551398277283 0.6901518106460571 -0.5422225594520569 0 0.0455969013273716 0.2435131669044495 0.06938881427049637 1</Transform></Instance>
<Instance id="inst1730152" name="Spring:;0,Parts" partRef="#id353">
<ApplicationRef application="TCC-VIS" label="Spring:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id354">1 -3.002940829333056e-008 3.437022044749938e-008 0 -4.150651022882812e-008 1.000000238418579 4.017514854126603e-008 0 3.73510147255729e-008 2.773385787691041e-008 1 0 -1.489124112907803e-008 -4.276215381793236e-009 1.08718030134014e-008 1</Transform></Instance>
<Instance id="inst1910040" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id362">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1410751193761826 0.09142301231622696 -0.3314632773399353 1</Transform></Instance>
<Instance id="inst1910640" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id367">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.05227819457650185 0.07644443958997726 -0.1796288043260574 1</Transform></Instance>
<Instance id="inst1911040" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id370">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1347948610782623 0.09093648940324783 -0.3265315294265747 1</Transform></Instance>
<Instance id="inst1911768" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id373">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.05855846777558327 0.07595790922641754 -0.1746970862150192 1</Transform></Instance>
<Instance id="inst1912168" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;4:"></ApplicationRef>
<Transform id="id376">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1285146176815033 0.0904499888420105 -0.3215998709201813 1</Transform></Instance>
<Instance id="inst1912968" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;5:"></ApplicationRef>
<Transform id="id379">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.0648387148976326 0.07547140121459961 -0.1697653979063034 1</Transform></Instance>
<Instance id="inst1920696" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;6:"></ApplicationRef>
<Transform id="id382">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1222343519330025 0.08996346592903137 -0.3166681826114655 1</Transform></Instance>
<Instance id="inst1827264" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;7:"></ApplicationRef>
<Transform id="id385">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.07111898809671402 0.07498487830162048 -0.1648336797952652 1</Transform></Instance>
<Instance id="inst1920976" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;8:"></ApplicationRef>
<Transform id="id388">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1159540787339211 0.08947695046663284 -0.3117364346981049 1</Transform></Instance>
<Instance id="inst1994408" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;9:"></ApplicationRef>
<Transform id="id391">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.07739924639463425 0.07449836283922195 -0.1599020063877106 1</Transform></Instance>
<Instance id="inst1994616" name="Valve_Sub:;0,Parts" partRef="#id394">
<ApplicationRef application="TCC-VIS" label="Valve_Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id395">-0.4546823501586914 0.6541661024093628 -0.6044260263442993 0 0.8696396350860596 0.4726210236549377 -0.1426760405302048 0 0.192330613732338 -0.5905051231384277 -0.7837811708450317 0 0.01489819493144751 0.08582951128482819 -0.04803464561700821 1</Transform></Instance>
<Instance id="inst1995632" name="Spring:;0,Parts" partRef="#id408">
<ApplicationRef application="TCC-VIS" label="Spring:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id409">1 2.298901691233368e-008 -2.432995493961698e-008 0 -3.89851670945518e-008 0.9999998807907105 -1.280528216796029e-008 0 -3.000558379540053e-008 -2.485903749516183e-008 0.9999998807907105 0 -1.494453005790319e-009 -7.655864275868396e-010 -5.496130661697407e-009 1</Transform></Instance>
<Instance id="inst1722840" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;10:"></ApplicationRef>
<Transform id="id421">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1413719058036804 0.08810769766569138 -0.3271084725856781 1</Transform></Instance>
<Instance id="inst1723976" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;11:"></ApplicationRef>
<Transform id="id424">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.05524870008230209 0.07287602126598358 -0.1727083474397659 1</Transform></Instance>
<Instance id="inst1725736" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;12:"></ApplicationRef>
<Transform id="id427">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1366616934537888 0.08774281293153763 -0.3234097063541412 1</Transform></Instance>
<Instance id="inst1995424" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;13:"></ApplicationRef>
<Transform id="id430">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.05995889753103256 0.07251112163066864 -0.1690095812082291 1</Transform></Instance>
<Instance id="inst1726232" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;14:"></ApplicationRef>
<Transform id="id433">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1319515109062195 0.08737793564796448 -0.3197109401226044 1</Transform></Instance>
<Instance id="inst1727160" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;15:"></ApplicationRef>
<Transform id="id436">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.06466909497976303 0.07214623689651489 -0.165310800075531 1</Transform></Instance>
<Instance id="inst1722360" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;16:"></ApplicationRef>
<Transform id="id439">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.127241313457489 0.08701304346323013 -0.3160121440887451 1</Transform></Instance>
<Instance id="inst1995528" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;17:"></ApplicationRef>
<Transform id="id442">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.0693792924284935 0.07178134471178055 -0.1616120338439941 1</Transform></Instance>
<Instance id="inst1995008" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;18:"></ApplicationRef>
<Transform id="id445">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1225311160087585 0.08664815127849579 -0.3123133778572083 1</Transform></Instance>
<Instance id="inst2053416" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;19:"></ApplicationRef>
<Transform id="id448">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.07408948242664337 0.0714164674282074 -0.1579132527112961 1</Transform></Instance>
<Instance id="inst2053208" name="Valve:123-700;0,Parts" partRef="#id341">
<ApplicationRef application="TCC-VIS" label="Valve:123-700;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id451">0.7850325107574463 0.06081444025039673 -0.6164620518684387 0 -0.135619044303894 0.9878994226455689 -0.07524680346250534 0 0.6044264435768127 0.1426751613616943 0.7837807536125183 0 -0.005746716633439064 -0.250409871339798 -0.08668788522481918 1</Transform></Instance>
<Instance id="inst1862560" name="Valve Spring Cap:123-704;0,Parts" partRef="#id347">
<ApplicationRef application="TCC-VIS" label="Valve Spring Cap:123-704;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id454">0.7850325703620911 0.06081447005271912 -0.6164620518684387 0 -0.3681581914424896 -0.7545340657234192 -0.543265700340271 0 -0.498180091381073 0.6534368991851807 -0.5699445009231567 0 0.03418708592653275 0.2526659965515137 0.06506367027759552 1</Transform></Instance>
<Instance id="inst1719832" name="Rocker Arm:123-600;0,Parts" partRef="#id457">
<ApplicationRef application="TCC-VIS" label="Rocker Arm:123-600;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id458">0.9026297330856323 0.4304179251194 -9.149687798526429e-007 0 -0.4304179251194 0.9026297330856323 4.554329109396349e-007 0 1.028840756589489e-006 1.773579327846164e-008 0.9999999403953552 0 0.2777610719203949 0.5800805687904358 -0.005389846861362457 1</Transform></Instance>
<Instance id="inst1729824" name="Rocker Arm_copy:123-602;0,Parts" partRef="#id463">
<ApplicationRef application="TCC-VIS" label="Rocker Arm_copy:123-602;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id464">0.9026297926902771 -0.4304177463054657 -9.298340728491894e-007 0 0.4304177463054657 0.9026297926902771 -4.242589284331189e-007 0 1.028840756589489e-006 1.773579505481848e-008 0.9999999403953552 0 0.3539793193340302 0.3309040069580078 -0.005389927886426449 1</Transform></Instance>
<Instance id="inst1726936" name="Valve Cover_copy:;0,Main" partRef="#id469">
<ApplicationRef application="TCC-VIS" label="Valve Cover_copy:;0,Main.part;0;0:"></ApplicationRef>
<Transform id="id470">1 -6.184104131534696e-005 -1.004268028736988e-006 0 1.011203266898519e-006 1.773524793691195e-008 0.9999999403953552 0 -6.184104131534696e-005 -1 -1.720678532990405e-008 0 0.05108792707324028 0.3257383704185486 0.09109834581613541 1</Transform></Instance>
<Instance id="inst1722616" name="Head Nut:123-005;0,Parts" partRef="#id245">
<ApplicationRef application="TCC-VIS" label="Head Nut:123-005;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id475">0.9999933242797852 1.67195413069976e-008 0.003653878346085548 0 0.003653871593996882 -1.767486601522705e-008 -0.9999932646751404 0 -1.665473980949628e-008 1 1.726829879089564e-008 0 0.08119496703147888 0.2477381825447083 0.2201460599899292 1</Transform></Instance>
<Instance id="inst1760240" name="Valve Spring:123-702;0,Parts" partRef="#id327">
<ApplicationRef application="TCC-VIS" label="Valve Spring:123-702;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id478">-0.8213930130004883 0.3830220103263855 0.4226199984550476 0 -0.3830239772796631 0.1786065548658371 -0.9063069224357605 0 -0.4226182103157044 -0.9063078165054321 4.008188341231289e-007 0 -0.141640841960907 0.3886727094650269 0.1220077648758888 1</Transform></Instance>
<Instance id="inst1724160" name="Valve Cover:123-701;0,Parts" partRef="#id481">
<ApplicationRef application="TCC-VIS" label="Valve Cover:123-701;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id482">-1.552728390308289e-009 5.031413063960599e-009 -1 0 5.031413063960599e-009 1 5.031413063960599e-009 0 1 -5.031413063960599e-009 -1.552728390308289e-009 0 0.2239999771118164 0.03198792412877083 0.02350873127579689 1</Transform></Instance>
<Instance id="inst1723752" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id489">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999570846558 0.02160527557134628 -0.1053286641836166 1</Transform></Instance>
<Instance id="inst1725216" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id492">-5.582201367815287e-013 -0.0009254564647562802 -0.9999995827674866 0 -6.028238463962055e-010 -0.9999995827674866 0.0009254564647562802 0 -1 6.028241239519616e-010 3.326781192647572e-016 0 -0.2949999570846558 0.02149887569248676 0.0004925570683553815 1</Transform></Instance>
<Instance id="inst1758176" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id495">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999570846558 0.123807780444622 -0.1001014932990074 1</Transform></Instance>
<Instance id="inst1919952" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id498">2.757793993168889e-013 4.575816179956671e-013 1 0 4.575816179956671e-013 -1 4.575816179956671e-013 0 1 4.575816179956671e-013 -2.757793993168889e-013 0 0.09999999403953552 -0.1338488161563873 0.03437212482094765 1</Transform></Instance>
<Instance id="inst2053728" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id501">4.052314039881821e-013 1.110223024625157e-015 1 0 1.110223024625157e-015 1 -1.110223024625157e-015 0 -1 1.110223024625157e-015 4.052314039881821e-013 0 -0.09999999403953552 -0.06615116447210312 0.01437209732830524 1</Transform></Instance>
<Instance id="inst2050288" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id504">4.052314039881821e-013 1.110223024625157e-015 1 0 1.110223024625157e-015 1 -1.110223024625157e-015 0 -1 1.110223024625157e-015 4.052314039881821e-013 0 -0.09999999403953552 -0.06615117192268372 -0.005627896171063185 1</Transform></Instance>
<Instance id="inst1998064" name="rod:123-699;0,Parts" partRef="#id58">
<ApplicationRef application="TCC-VIS" label="rod:123-699;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id507">-0.9861037135124207 0.1661308258771896 1.702963710921711e-016 0 -0.1661308258771896 -0.9861037135124207 -3.509013978502231e-016 0 1.096343463342109e-016 -3.743166442952229e-016 1 0 -0.07101806253194809 -0.02219301089644432 -0.01999999769032002 1</Transform></Instance>
<Part id="id14" name="2_Cylinder_Engine" instanceRefs="inst1779056 inst1913768 inst1910440 inst1937376 inst1895856 inst2026000 inst1848008 inst2010456 inst1758176 inst1919952 inst2053728 inst2050288 inst1998064" type="assembly">
<UserData id="id33" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id44">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData>
<Occurrence id="id16" instanceRefs="#inst1798736">
<Transform id="id17">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Occurrence></Part>
<Part id="id46" name="Head Stud:123-006;0,Parts" type="solid">
<Bound id="id49" values="-0.03247146308422089 0.07456196844577789 -0.1150000020861626 0.006500001531094313 0.006495191715657711 0.1150000020861626"></Bound>
<Representation id="id50" format="JT" location="./2_Cylinder_Engine/Head_Stud_123_006_0_Parts.jt"></Representation></Part>
<Part id="id52" name="Lifter:123-923;0,Parts" type="solid">
<Bound id="id55" values="-0.02437210455536842 -0.03384878858923912 -0.04250000044703484 0.00774999987334013 0.007749963086098433 0.04250000044703484"></Bound>
<Representation id="id56" format="JT" location="./2_Cylinder_Engine/Lifter_123_923_0_Parts.jt"></Representation></Part>
<Part id="id58" name="rod:123-699;0,Parts" type="solid">
<Bound id="id61" values="0.02005359902977943 -0.006323420908302069 0 0.09100000560283661 0.03700000047683716 0.009999999776482582"></Bound>
<Representation id="id62" format="JT" location="./2_Cylinder_Engine/rod_123_699_0_Parts.jt"></Representation></Part>
<Part id="id64" name="Piston Sub:;0,Parts" instanceRefs="inst1912768 inst1865720" type="assembly">
<UserData id="id72">
<UserValue value="Piston Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Piston Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData>
<Occurrence id="id66" instanceRefs="#inst1798736 #inst1937376">
<Transform id="id67">-1 -1.334063881586189e-008 -7.982826621955041e-010 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.1368601024150848 0.06445372104644775 0.003820367390289903 1</Transform></Occurrence></Part>
<Part id="id74" name="Piston:123-844;0,Parts" type="solid">
<Bound id="id80" values="0.0101108755916357 0.009526152163743973 0 0.05324159190058708 0.04650000110268593 0.04649999737739563"></Bound>
<Occurrence id="id76" materialRef="id77" instanceRefs="#inst1798736 #inst1937376 #inst1912768">
<Transform id="id78">-1 -3.025554562441357e-008 -3.172106577409295e-009 0 1.10096191110321e-032 -1.00000011920929 -3.018819071267222e-016 0 -7.293991291219912e-017 -3.018819071267222e-016 1.00000011920929 0 -0.2946771681308746 0.07397986948490143 0.01617963425815105 1</Transform></Occurrence>
<Representation id="id81" format="JT" location="./2_Cylinder_Engine/Piston_123_844_0_Parts.jt"></Representation></Part>
<Part id="id83" name="Piston pin:123-845;0,Parts" type="solid">
<Bound id="id86" values="-0.2534925639629364 0.09658930450677872 0.04250000044703484 0.01099999435245991 0.01099186204373837 0.04250000044703484"></Bound>
<Representation id="id87" format="JT" location="./2_Cylinder_Engine/Piston_pin_123_845_0_Parts.jt"></Representation></Part>
<Part id="id89" name="Piston Sub:;0,Parts" instanceRefs="inst1671584 inst2012776" type="assembly">
<UserData id="id100">
<UserValue value="Piston Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:24.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Piston Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id108" name="CamShaft Sub:123-990;0,Parts" instanceRefs="inst2054176 inst1938944" type="assembly">
<UserData id="id121">
<UserValue value="CamShaft Sub:123-990;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:25.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="CamShaft Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-990" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:11:35.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id123" name="Cam_shaft:123-457;0,Parts" type="solid">
<Bound id="id126" values="0.05063954740762711 -0.03493684902787209 -4.356868157628924e-005 0.1267500072717667 0.02063110843300819 0.01902950927615166"></Bound>
<Representation id="id127" format="JT" location="./2_Cylinder_Engine/Cam_shaft_123_457_0_Parts.jt"></Representation></Part>
<Part id="id129" name="cam_gear:123-456;0,Parts" type="solid">
<Bound id="id132" values="0 -0.1000000014901161 -0.002500000409781933 0.06898061186075211 0.06888007372617722 0.01250000018626452"></Bound>
<Representation id="id133" format="JT" location="./2_Cylinder_Engine/cam_gear_123_456_0_Parts.jt"></Representation></Part>
<Part id="id135" name="Crank_Sub:123-555;0,Parts" instanceRefs="inst1838360 inst1857888" type="assembly">
<UserData id="id148">
<UserValue value="Crank_Sub:123-555;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Aug-14-2001 14:13:01.00" title="Version Create Date + Time"></UserValue>
<UserValue value="Crank_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-555" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:13:01.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id150" name="crank:123-782;0,Parts" type="solid">
<Bound id="id153" values="4.847693617193727e-006 0 -0.01325000263750553 0.06299515068531036 0.03500000014901161 0.1267500072717667"></Bound>
<Representation id="id154" format="JT" location="./2_Cylinder_Engine/crank_123_782_0_Parts.jt"></Representation></Part>
<Part id="id156" name="crank_gear:123-783;0,Parts" type="solid">
<Bound id="id159" values="0 -0.0001077877532225102 -0.002500000409781933 0.03597993031144142 0.03586557507514954 0.01250000018626452"></Bound>
<Representation id="id160" format="JT" location="./2_Cylinder_Engine/crank_gear_123_783_0_Parts.jt"></Representation></Part>
<Part id="id162" name="Body Sub:123-002;0,Parts" instanceRefs="inst2026392 inst2026184 inst1996904 inst1858736 inst1726008 inst1729056 inst1724160 inst1723752 inst1725216" type="assembly">
<UserData id="id177">
<UserValue value="Body Sub:123-002;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:29.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Body Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-002" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:10:00.00" title="Version Mod. Date + Time"></UserValue></UserData>
<Occurrence id="id164" instanceRefs="#inst1798736 #inst2010456">
<Transform id="id165">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Occurrence></Part>
<Part id="id179" name="Case_r:123-200;0,Parts" type="solid">
<Bound id="id184" values="0 -0.04548577964305878 -0.003500004298985004 0.0949999988079071 0.1354857832193375 0.1164999976754189"></Bound>
<Occurrence id="id181" materialRef="id182" instanceRefs="#inst1798736 #inst2010456 #inst2026392"></Occurrence>
<Representation id="id185" format="JT" location="./2_Cylinder_Engine/Case_r_123_200_0_Parts.jt"></Representation></Part>
<Part id="id187" name="Cylinder_1:123-100;0,Parts" type="solid">
<Bound id="id193" values="0.01856433786451817 0.05655883997678757 2.846240931830835e-007 0.08050000667572022 0.0950000062584877 0.08000028133392334"></Bound>
<Occurrence id="id189" materialRef="id190" instanceRefs="#inst1798736 #inst2010456 #inst2026184">
<Transform id="id191">1 -5.030475147549396e-009 -8.559119635265233e-008 0 1.553537853915543e-009 -1.993428355717697e-008 1 0 -5.03141173169297e-009 -1 -1.993428355717697e-008 0 0.4018276929855347 0.004671174101531506 -0.01877834275364876 1</Transform></Occurrence>
<Representation id="id194" format="JT" location="./2_Cylinder_Engine/Cylinder_1_123_100_0_Parts.jt"></Representation></Part>
<Part id="id196" name="Cylinder_2:123-101;0,Parts" type="solid">
<Bound id="id200" values="0.01856433786451817 0.05655883997678757 2.846240931830835e-007 0.08050000667572022 0.0950000062584877 0.08000028133392334"></Bound>
<Occurrence id="id198" materialRef="id190" instanceRefs="#inst1798736 #inst2010456 #inst1996904"></Occurrence>
<Representation id="id201" format="JT" location="./2_Cylinder_Engine/Cylinder_2_123_101_0_Parts.jt"></Representation></Part>
<Part id="id203" name="cylinder bolt pattern:;0,Parts" type="solid">
<Bound id="id206" values="-0.1074714586138725 0.0745619609951973 -0.1150000020861626 0.08149999380111694 0.08149999380111694 0.1150000020861626"></Bound>
<Representation id="id207" format="JT" location="./2_Cylinder_Engine/cylinder_bolt_pattern__0_Parts.jt"></Representation></Part>
<Part id="id209" name="Head_1:123-150;0,Parts" type="solid">
<Bound id="id215" values="0.005008736159652472 -0.03048798069357872 0.04119380190968514 0.1079999953508377 0.09020166844129562 0.0411965511739254"></Bound>
<Occurrence id="id211" materialRef="id212" instanceRefs="#inst1798736 #inst2010456 #inst1726008">
<Transform id="id213">-1.553142503496474e-009 5.031413952139019e-009 -1 0 5.031442373848449e-009 1 5.031413063960599e-009 0 1 -7.856474439904559e-007 -1.082494804904854e-007 0 0.5421041250228882 0.03720489889383316 0.04404613375663757 1</Transform></Occurrence>
<Representation id="id216" format="JT" location="./2_Cylinder_Engine/Head_1_123_150_0_Parts.jt"></Representation></Part>
<Part id="id218" name="Head2 Sub:;0,Parts" instanceRefs="inst1727816 inst2027256 inst1842808 inst1906944 inst2052896 inst1725624 inst1994616 inst1719832 inst1729824 inst1726936 inst1722616 inst1760240" type="assembly">
<UserData id="id230">
<UserValue value="Head2 Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Head2 Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id232" name="Head_2:123-151;0,Parts" type="solid">
<Bound id="id236" values="0.005008736159652472 -0.03048798069357872 -0.04119383916258812 0.1079999953508377 0.09020166844129562 0.04119651019573212"></Bound>
<Occurrence id="id234" materialRef="id212" instanceRefs="#inst1798736 #inst2010456 #inst1729056 #inst1727816"></Occurrence>
<Representation id="id237" format="JT" location="./2_Cylinder_Engine/Head_2_123_151_0_Parts.jt"></Representation></Part>
<Part id="id239" name="Spark Plug:;0,Parts" type="solid">
<Bound id="id242" values="0.03006996028125286 0.2239631712436676 0.02060705050826073 0.01078151073306799 0.009165501222014427 0.0493929535150528"></Bound>
<Representation id="id243" format="JT" location="./2_Cylinder_Engine/Spark_Plug__0_Parts.jt"></Representation></Part>
<Part id="id245" name="Head Nut:123-005;0,Parts" type="solid">
<Bound id="id248" values="0.02565165981650353 0.2141639441251755 -0.008499999530613422 0.01200000010430813 0.01199112832546234 0.008499999530613422"></Bound>
<Representation id="id249" format="JT" location="./2_Cylinder_Engine/Head_Nut_123_005_0_Parts.jt"></Representation></Part>
<Part id="id251" name="Rocker_Sub:;0,Parts" instanceRefs="inst2033120 inst1789832 inst2033672 inst1949072" type="assembly">
<UserData id="id262">
<UserValue value="Rocker_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Rocker_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id264" name="Rocker Arm Shaft:123-601;0,Parts" type="solid">
<Bound id="id267" values="-0.04317900538444519 0.4631594121456146 0.05750000104308128 0.006500000134110451 0.006495170295238495 0.05750000104308128"></Bound>
<Representation id="id268" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_Shaft_123_601_0_Parts.jt"></Representation></Part>
<Part id="id270" name="Rocker_Mount_Sub:;0,Parts" instanceRefs="inst1796000 inst2030512 inst1725832 inst2029080" type="assembly">
<UserData id="id276">
<UserValue value="Rocker_Mount_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Rocker_Mount_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id278" name="Rocker Mount:123-604;0,Parts" type="solid">
<Bound id="id281" values="0.005044352263212204 -0.05961518362164497 0.007500000298023224 0.0494999997317791 0.02099999971687794 0.007500000298023224"></Bound>
<Representation id="id282" format="JT" location="./2_Cylinder_Engine/Rocker_Mount_123_604_0_Parts.jt"></Representation></Part>
<Part id="id284" name="Rocker Mount Cap:123-608;0,Parts" type="solid">
<Bound id="id287" values="0.005044352263212204 -0.05511518567800522 0.007500000298023224 0.0494999997317791 0.006499998271465302 0.007500000298023224"></Bound>
<Representation id="id288" format="JT" location="./2_Cylinder_Engine/Rocker_Mount_Cap_123_608_0_Parts.jt"></Representation></Part>
<Part id="id290" name="Rocker Bolt:123-603;0,Parts" type="solid">
<Bound id="id293" values="0.02305358275771141 0.2096639275550842 -0.04050000011920929 0.007499999366700649 0.007494449149817228 0.04050000011920929"></Bound>
<Representation id="id294" format="JT" location="./2_Cylinder_Engine/Rocker_Bolt_123_603_0_Parts.jt"></Representation></Part>
<Part id="id299" name="Rocker_Mount_Sub:;0,Parts" instanceRefs="inst1996808 inst1867136 inst1948848 inst1997256" type="assembly">
<UserData id="id310">
<UserValue value="Rocker_Mount_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Rocker_Mount_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id327" name="Valve Spring:123-702;0,Parts" type="solid">
<Bound id="id330" values="-0.2873985767364502 -0.0646171048283577 0.0324999988079071 0.008999995887279511 0.008993340656161308 0.0324999988079071"></Bound>
<Representation id="id331" format="JT" location="./2_Cylinder_Engine/Valve_Spring_123_702_0_Parts.jt"></Representation></Part>
<Part id="id333" name="Valve_Sub:;0,Parts" instanceRefs="inst1914472 inst1734000 inst1730152" type="assembly">
<UserData id="id339">
<UserValue value="Valve_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Valve_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id341" name="Valve:123-700;0,Parts" type="solid">
<Bound id="id344" values="0.1265590041875839 0.2941140830516815 0 0.05499999970197678 0.01800000295042992 0.01798668131232262"></Bound>
<Representation id="id345" format="JT" location="./2_Cylinder_Engine/Valve_123_700_0_Parts.jt"></Representation></Part>
<Part id="id347" name="Valve Spring Cap:123-704;0,Parts" type="solid">
<Bound id="id350" values="0.2066644430160523 0.2842055261135101 0 0.004499997943639755 0.01600000448524952 0.01598815992474556"></Bound>
<Representation id="id351" format="JT" location="./2_Cylinder_Engine/Valve_Spring_Cap_123_704_0_Parts.jt"></Representation></Part>
<Part id="id353" name="Spring:;0,Parts" instanceRefs="inst1910040 inst1910640 inst1911040 inst1911768 inst1912168 inst1912968 inst1920696 inst1827264 inst1920976 inst1994408" type="assembly">
<UserData id="id359">
<UserValue value="Spring" title="I-DEAS Name"></UserValue>
<UserValue value="Spring:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id361" name="Spring Link:;0,Parts" type="solid">
<Bound id="id364" values="0.1303011178970337 -0.04939981177449226 0.007499259896576405 0.001999998930841684 0.01499851979315281 0.007499259896576405"></Bound>
<Representation id="id365" format="JT" location="./2_Cylinder_Engine/Spring_Link__0_Parts.jt"></Representation></Part>
<Part id="id394" name="Valve_Sub:;0,Parts" instanceRefs="inst1995632 inst2053208 inst1862560" type="assembly">
<UserData id="id406">
<UserValue value="Valve_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:26.00" title="Version Create Date + Time"></UserValue>
<UserValue value="Valve_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id408" name="Spring:;0,Parts" instanceRefs="inst1722840 inst1723976 inst1725736 inst1995424 inst1726232 inst1727160 inst1722360 inst1995528 inst1995008 inst2053416" type="assembly">
<UserData id="id419">
<UserValue value="Spring:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:25.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Spring" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id457" name="Rocker Arm:123-600;0,Parts" type="solid">
<Bound id="id460" values="-0.2874188423156738 -0.1816282123327255 0.04250000044703484 0.03894562274217606 0.01755017042160034 0.04250000044703484"></Bound>
<Representation id="id461" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_123_600_0_Parts.jt"></Representation></Part>
<Part id="id463" name="Rocker Arm_copy:123-602;0,Parts" type="solid">
<Bound id="id466" values="-0.2914990782737732 -0.1816282123327255 0.04250000044703484 0.03894564881920815 0.01755017600953579 0.04250000044703484"></Bound>
<Representation id="id467" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_copy_123_602_0_Parts.jt"></Representation></Part>
<Part id="id469" name="Valve Cover_copy:;0,Main" type="solid">
<Bound id="id472" values="0.003508739871904254 -0.03198798000812531 0.0386538989841938 0.101500004529953 0.09204161167144775 0.03634610027074814"></Bound>
<Representation id="id473" format="JT" location="./2_Cylinder_Engine/Valve_Cover_copy__0_Main.jt"></Representation></Part>
<Part id="id481" name="Valve Cover:123-701;0,Parts" type="solid">
<Bound id="id486" values="0.003508739871904254 -0.03198803216218948 0.1113460958003998 0.101500004529953 0.09204155951738358 0.03634609654545784"></Bound>
<Occurrence id="id483" instanceRefs="#inst1798736 #inst2010456 #inst1724160">
<Transform id="id484">-1.552729944620523e-009 5.031413063960599e-009 -1 0 5.0314401534024e-009 1 5.031413063960599e-009 0 1 -3.418919334308157e-007 -1.096145751944277e-007 0 0.6029092669487 0.04294551536440849 0.04271972924470902 1</Transform></Occurrence>
<Representation id="id487" format="JT" location="./2_Cylinder_Engine/Valve_Cover_123_701_0_Parts.jt"></Representation></Part></InstanceGraph>
<Material id="id77" diffuse="1 0 1" specular="1 0 1" emissive="0 0 0" ambient="0 0 0" shininess="96" alpha="0.1000000238418579"></Material>
<Material id="id182" diffuse="0.847058892250061 0.847058892250061 0.847058892250061" specular="0.8000000715255737 0.8000000715255737 0.8000000715255737" emissive="0 0 0" ambient="0.1490196138620377 0.1490196138620377 0.1490196138620377" shininess="96" alpha="0.5"></Material>
<Material id="id190" diffuse="0.6509804129600525 0.7921569347381592 0.9411765336990356" specular="0.6509804129600525 0.7921569347381592 0.9411765336990356" emissive="0 0 0" ambient="0.1490196138620377 0.1490196138620377 0.1490196138620377" shininess="96" alpha="0.5"></Material>
<Material id="id212" diffuse="1 0 0" specular="1 0 0" emissive="0 0 0" ambient="0.1490196138620377 0.1490196138620377 0.1490196138620377" shininess="96" alpha="0.5"></Material></ProductDef></PLMXML>
@@ -1,511 +0,0 @@
<?xml version="1.0" ?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="4" date="2005-02-14" time="21:15:28" author="Vis Mockup 5.1.0">
<ProductDef id="id1">
<UserData id="id12" type="__TCC-VIS_MONIKER_INFO">
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="Path"></UserValue>
<UserValue value="file" title="FA_Protocol"></UserValue>
<UserValue value="C:/Program Files/UGS/JT2Go/Examples/2_Cylinder_Engine_Example/2_Cylinder_Engine.jt" title="object_id"></UserValue>
<UserValue value="C:\Program Files\UGS\JT2Go\Examples\2_Cylinder_Engine_Example\2_Cylinder_Engine.jt" title="LocalCopy"></UserValue>
<UserValue value="2.0" title="Version"></UserValue>
<UserValue value="local" title="FA_Service"></UserValue>
<UserValue value="No" title="MkIsFolder"></UserValue>
<UserValue value="2_Cylinder_Engine.jt" title="Title"></UserValue>
<UserValue value="DirectModel.Document" title="FileTypeID"></UserValue></UserData>
<InstanceGraph id="id2" rootRefs="inst1798736">
<Instance id="inst1798736" name="2_Cylinder_Engine" partRef="#id14">
<ApplicationRef application="TCC-VIS" label="2_Cylinder_Engine.asm;0;0:"></ApplicationRef>
<UserData id="id20" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id31">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData>
<Transform id="id15">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst1779056" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id47">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999868869782 0.1321395188570023 -0.003983345814049244 1</Transform></Instance>
<Instance id="inst1913768" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id53">2.757793993168889e-013 4.575816179956671e-013 1 0 4.575816179956671e-013 -1 4.575816179956671e-013 0 1 4.575816179956671e-013 -2.757793993168889e-013 0 0.1000000014901161 -0.1338488310575485 0.05437212437391281 1</Transform></Instance>
<Instance id="inst1910440" name="rod:123-699;0,Parts" partRef="#id58">
<ApplicationRef application="TCC-VIS" label="rod:123-699;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id59">0.9861037135124207 -0.1661308258771896 -1.166810754732375e-015 0 0.1661308258771896 0.9861037135124207 -1.062013085640994e-015 0 1.327029577804367e-015 8.534118465009541e-016 1 0 0.07101806253194809 0.02219301462173462 0.02199999988079071 1</Transform></Instance>
<Instance id="inst1937376" name="Piston Sub:;0,Parts" partRef="#id64">
<ApplicationRef application="TCC-VIS" label="Piston Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id65">-1 1.10096191110321e-032 -7.293991291219912e-017 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.1368601024150848 0.06445372104644775 0.003820367390289903 1</Transform></Instance>
<Instance id="inst1912768" name="Piston:123-844;0,Parts" partRef="#id74">
<ApplicationRef application="TCC-VIS" label="Piston:123-844;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id75">-1 -1.334063881586189e-008 7.982825511732017e-010 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.294677197933197 0.07397986948490143 0.01617963239550591 1</Transform></Instance>
<Instance id="inst1865720" name="Piston pin:123-845;0,Parts" partRef="#id83">
<ApplicationRef application="TCC-VIS" label="Piston pin:123-845;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id84">0.9995650053024292 0.02949320152401924 -7.979323313200837e-010 0 -0.0294931884855032 0.9995650053024292 2.354164085893729e-011 0 -3.085015966644567e-015 2.168479519145078e-015 1 0 -0.0453154630959034 -0.02461725845932961 -0.02632036805152893 1</Transform></Instance>
<Instance id="inst1895856" name="Piston Sub:;0,Parts" partRef="#id89">
<ApplicationRef application="TCC-VIS" label="Piston Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id90">1 0 0 0 0 1 0 0 0 0 1 0 0.1368601024150848 -0.06445372104644775 -0.03617963194847107 1</Transform></Instance>
<Instance id="inst1671584" name="Piston:123-844;0,Parts" partRef="#id74">
<ApplicationRef application="TCC-VIS" label="Piston:123-844;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id102">-1 -1.334063881586189e-008 7.041613514502387e-009 0 -1.003604666278664e-019 -1 1.355268465125744e-016 0 -1.736007260287489e-016 1.355268465125744e-016 1 0 -0.294677197933197 0.07397986948490143 0.0161796361207962 1</Transform></Instance>
<Instance id="inst2012776" name="Piston pin:123-845;0,Parts" partRef="#id83">
<ApplicationRef application="TCC-VIS" label="Piston pin:123-845;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id105">0.9995650053024292 0.02949320152401924 -7.038550631222051e-009 0 -0.0294931884855032 0.9995650053024292 2.076799010541919e-010 0 1.57434811062825e-016 -2.681045890006053e-016 1 0 -0.0453154630959034 -0.02461725845932961 -0.02632036432623863 1</Transform></Instance>
<Instance id="inst2026000" name="CamShaft Sub:123-990;0,Parts" partRef="#id108">
<ApplicationRef application="TCC-VIS" label="CamShaft Sub:123-990;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id109">0.7071067690849304 -0.7071067690849304 4.055928498874345e-013 0 0.7071067690849304 0.7071067690849304 6.101357784178425e-016 0 -2.872288724139332e-013 2.863660101149607e-013 1 0 0.04717867448925972 -0.0528213270008564 -0.08894477039575577 1</Transform></Instance>
<Instance id="inst2054176" name="Cam_shaft:123-457;0,Parts" partRef="#id123">
<ApplicationRef application="TCC-VIS" label="Cam_shaft:123-457;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id124">1.214013511940948e-008 -7.440697502580917e-010 1 0 -0.9059386253356934 0.4234090149402618 3.675416633368289e-013 0 -0.4234090149402618 -0.9059386253356934 1.728632428171784e-013 0 -0.03029589354991913 -0.05256131291389465 0.02505522221326828 1</Transform></Instance>
<Instance id="inst1938944" name="cam_gear:123-456;0,Parts" partRef="#id129">
<ApplicationRef application="TCC-VIS" label="cam_gear:123-456;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id130">-0.4234090149402618 -0.9059386253356934 1.726649286873036e-013 0 -0.9059386253356934 0.4234090149402618 3.675724817835818e-013 0 -1.214013511940948e-008 7.440699723026967e-010 -1 0 -0.09059386700391769 -0.02437981590628624 -0.04005522653460503 1</Transform></Instance>
<Instance id="inst1848008" name="Crank_Sub:123-555;0,Parts" partRef="#id135">
<ApplicationRef application="TCC-VIS" label="Crank_Sub:123-555;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id136">-0.5 -0.8660253882408142 -2.979083167524747e-016 0 0.8660253882408142 -0.5 -7.816530680941419e-016 0 5.279772353637604e-016 -6.488226847947026e-016 1 0 0.01809818297624588 -0.06969784200191498 -0.1055598109960556 1</Transform></Instance>
<Instance id="inst1838360" name="crank:123-782;0,Parts" partRef="#id150">
<ApplicationRef application="TCC-VIS" label="crank:123-782;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id151">-0.9390942454338074 0.3436597287654877 1.284025318025572e-016 0 -0.3436597883701325 -0.9390941858291626 -6.660528172495127e-016 0 2.47777798279003e-008 -2.063888393522007e-009 1 0 -0.05131101608276367 -0.05052240565419197 0.1075598075985909 1</Transform></Instance>
<Instance id="inst1857888" name="crank_gear:123-783;0,Parts" partRef="#id156">
<ApplicationRef application="TCC-VIS" label="crank_gear:123-783;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id157">-0.9390942454338074 0.3436597287654877 3.809448359261655e-016 0 -0.3436597883701325 -0.9390941858291626 -2.583991531420675e-015 0 2.47777798279003e-008 -2.063890391923451e-009 1 0 -0.05131101980805397 -0.05052240565419197 -0.01844018884003162 1</Transform></Instance>
<Instance id="inst2010456" name="Body Sub:123-002;0,Parts" partRef="#id162">
<ApplicationRef application="TCC-VIS" label="Body Sub:123-002;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id163">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst2026392" name="Case_r:123-200;0,Parts" partRef="#id179">
<ApplicationRef application="TCC-VIS" label="Case_r:123-200;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id180">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Instance>
<Instance id="inst2026184" name="Cylinder_1:123-100;0,Parts" partRef="#id187">
<ApplicationRef application="TCC-VIS" label="Cylinder_1:123-100;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id188">1 -5.031413063960599e-009 -1.553538520049358e-009 0 1.553538409027055e-009 -1.993428355717697e-008 1 0 -5.031413063960599e-009 -1 -1.993428355717697e-008 0 0.1269356608390808 -5.273894387869405e-008 -0.0365588441491127 1</Transform></Instance>
<Instance id="inst1996904" name="Cylinder_2:123-101;0,Parts" partRef="#id196">
<ApplicationRef application="TCC-VIS" label="Cylinder_2:123-101;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id197">-1 -1.490642098644912e-008 -1.665472915135524e-008 0 1.665472915135524e-008 -1.764261092773722e-008 -1 0 1.490642098644912e-008 -1 1.764261092773722e-008 0 -0.1269356608390808 3.299700068737366e-009 0.0365588404238224 1</Transform></Instance>
<Instance id="inst1858736" name="cylinder bolt pattern:;0,Parts" partRef="#id203">
<ApplicationRef application="TCC-VIS" label="cylinder bolt pattern:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id204">2.459232373297482e-009 0.7071067690849304 -0.7071067690849304 0 -4.656259378066352e-009 -0.7071067690849304 -0.7071067690849304 0 -1 5.031412619871389e-009 1.55353274688963e-009 0 0.06499999761581421 0.1287170201539993 -0.003270523622632027 1</Transform></Instance>
<Instance id="inst1726008" name="Head_1:123-150;0,Parts" partRef="#id209">
<ApplicationRef application="TCC-VIS" label="Head_1:123-150;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id210">-1.553133399667672e-009 5.031413063960599e-009 -1 0 5.031413063960599e-009 1 5.031413063960599e-009 0 1 -5.031413063960599e-009 -1.553133399667672e-009 0 0.2239999920129776 0.03048792481422424 0.02500873245298863 1</Transform></Instance>
<Instance id="inst1729056" name="Head2 Sub:;0,Parts" partRef="#id218">
<ApplicationRef application="TCC-VIS" label="Head2 Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id219">1.665474158585312e-008 1.004267005555448e-006 -1 0 -1 -1.666503557373744e-008 -1.665475757306467e-008 0 -1.6665051560949e-008 1 1.004267005555448e-006 0 -0.04826182126998901 -0.05911042168736458 0.03459598124027252 1</Transform></Instance>
<Instance id="inst1727816" name="Head_2:123-151;0,Parts" partRef="#id232">
<ApplicationRef application="TCC-VIS" label="Head_2:123-151;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id233">1 9.947598300641403e-014 -1.004267005555448e-006 0 1.011203266898519e-006 3.500436918102423e-008 0.9999999403953552 0 2.75101122437782e-014 -1 2.288952989822068e-013 0 0.04958733543753624 0.1757381856441498 0.08959835022687912 1</Transform></Instance>
<Instance id="inst2027256" name="Spark Plug:;0,Parts" partRef="#id239">
<ApplicationRef application="TCC-VIS" label="Spark Plug:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id240">1 9.977915303889529e-014 -9.877358024823479e-007 0 -9.946720638254192e-007 -3.500436562831055e-008 -0.9999999403953552 0 -2.75101122437782e-014 1 -2.288952989822068e-013 0 0.02452629990875721 0.2137382179498673 0.2830735743045807 1</Transform></Instance>
<Instance id="inst1842808" name="Head Nut:123-005;0,Parts" partRef="#id245">
<ApplicationRef application="TCC-VIS" label="Head Nut:123-005;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id246">0.9999898672103882 1.657488901685156e-008 -0.004498782102018595 0 -0.004498789552599192 -1.781053349247941e-008 -0.9999898076057434 0 -1.665473980949628e-008 1 1.726835030524399e-008 0 -0.02312494441866875 0.2477381676435471 0.2203545719385147 1</Transform></Instance>
<Instance id="inst1906944" name="Rocker_Sub:;0,Parts" partRef="#id251">
<ApplicationRef application="TCC-VIS" label="Rocker_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id252">0.9999974370002747 -7.939097296238984e-011 -0.002271066652610898 0 9.118318147522016e-016 1 3.807415215490448e-015 0 0.002271073637530208 3.500404588407946e-008 0.9999973773956299 0 -0.0001340909366263077 -0.01299998629838228 0.0001236627285834402 1</Transform></Instance>
<Instance id="inst2033120" name="Rocker Arm Shaft:123-601;0,Parts" partRef="#id264">
<ApplicationRef application="TCC-VIS" label="Rocker Arm Shaft:123-601;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id265">-0.9999850392341614 -0.004973083734512329 -0.002270016819238663 0 0.004973071627318859 -0.9999875426292419 1.127185623772675e-005 0 -0.002270089229568839 -4.575558421038295e-008 0.9999972581863403 0 0.0487947128713131 0.7686771750450134 -0.02040251158177853 1</Transform></Instance>
<Instance id="inst1789832" name="Rocker_Mount_Sub:;0,Parts" partRef="#id270">
<ApplicationRef application="TCC-VIS" label="Rocker_Mount_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id271">1 -7.424300063618716e-011 1.35305974757749e-010 0 1.276140897124513e-015 0.9999998807907105 4.341043060584901e-016 0 -4.433523059788058e-008 -2.848764957263938e-008 0.9999998211860657 0 -1.748614808505522e-009 -9.381160293031599e-010 -7.228971310446752e-010 1</Transform></Instance>
<Instance id="inst1796000" name="Rocker Mount:123-604;0,Parts" partRef="#id278">
<ApplicationRef application="TCC-VIS" label="Rocker Mount:123-604;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id279">0.9999973773956299 1.651584646822357e-008 0.002270044526085258 0 -1.669391558323241e-008 0.9999998807907105 1.723048725921217e-008 0 -0.002270088996738195 -4.57557440824985e-008 0.9999972581863403 0 0.04950515553355217 0.3443533480167389 0.07959935814142227 1</Transform></Instance>
<Instance id="inst2030512" name="Rocker Mount Cap:123-608;0,Parts" partRef="#id284">
<ApplicationRef application="TCC-VIS" label="Rocker Mount Cap:123-608;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id285">0.9999973773956299 1.651585179729409e-008 0.002270044526085258 0 1.669392091230293e-008 -0.9999998807907105 -1.723048725921217e-008 0 0.002270088996738195 4.57557440824985e-008 -0.9999972581863403 0 0.04947110638022423 0.2571229636669159 0.09459931403398514 1</Transform></Instance>
<Instance id="inst1725832" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id291">0.9984452724456787 1.914222380605679e-008 -0.05574143305420876 0 -0.05574139580130577 4.472066095217997e-008 -0.9984451532363892 0 -1.669391203051873e-008 1 1.723049436463953e-008 0 0.01820174790918827 0.326738178730011 0.2976770401000977 1</Transform></Instance>
<Instance id="inst2029080" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id296">0.9984543323516846 1.913488922866691e-008 -0.05557771772146225 0 -0.05557768046855927 4.472379444564467e-008 -0.998454213142395 0 -1.669391025416189e-008 0.9999998807907105 1.723049436463953e-008 0 0.06816709786653519 0.326738178730011 0.2977887094020844 1</Transform></Instance>
<Instance id="inst2033672" name="Rocker_Mount_Sub:;0,Parts" partRef="#id299">
<ApplicationRef application="TCC-VIS" label="Rocker_Mount_Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id300">1 -7.424300063618716e-011 1.35305974757749e-010 0 1.276140897124513e-015 0.9999998807907105 4.341043060584901e-016 0 -4.433523059788058e-008 -2.848764957263938e-008 0.9999998211860657 0 -4.064914627122107e-009 -1.459414988858043e-008 -0.09999953210353851 1</Transform></Instance>
<Instance id="inst1996808" name="Rocker Mount:123-604;0,Parts" partRef="#id278">
<ApplicationRef application="TCC-VIS" label="Rocker Mount:123-604;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id312">0.9999974370002747 1.662746029751361e-008 0.002270044526085258 0 -1.669391735958925e-008 1.00000011920929 1.723049081192585e-008 0 -0.002270061522722244 -2.438619972622291e-008 0.9999974966049194 0 0.04973216727375984 0.3443534076213837 0.07959914952516556 1</Transform></Instance>
<Instance id="inst1867136" name="Rocker Mount Cap:123-608;0,Parts" partRef="#id284">
<ApplicationRef application="TCC-VIS" label="Rocker Mount Cap:123-608;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id315">0.9999974370002747 1.662746562658413e-008 0.002270044526085258 0 1.669392268865977e-008 -1.00000011920929 -1.723049081192585e-008 0 0.002270061522722244 2.438619972622291e-008 -0.9999974966049194 0 0.0496981143951416 0.2571230232715607 0.09459911286830902 1</Transform></Instance>
<Instance id="inst1948848" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id318">0.9986630082130432 1.791910797521723e-008 -0.05169311910867691 0 -0.05169309675693512 2.345346850063379e-008 -0.998663067817688 0 -1.669391025416189e-008 1.00000011920929 1.72305067991374e-008 0 0.01757495850324631 0.3267382085323334 0.2976291477680206 1</Transform></Instance>
<Instance id="inst1997256" name="Rocker Bolt:123-603;0,Parts" partRef="#id290">
<ApplicationRef application="TCC-VIS" label="Rocker Bolt:123-603;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id321">0.9986716508865356 1.791518755567267e-008 -0.05152621492743492 0 -0.05152619630098343 2.345645455648082e-008 -0.9986717104911804 0 -1.669391025416189e-008 1.00000011920929 1.723049791735321e-008 0 0.06753963232040405 0.3267382085323334 0.2977406084537506 1</Transform></Instance>
<Instance id="inst1949072" name="Rocker Arm Shaft:123-601;0,Parts" partRef="#id264">
<ApplicationRef application="TCC-VIS" label="Rocker Arm Shaft:123-601;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id324">-0.9999873042106628 -0.004487393889576197 -0.00227002170868218 0 0.004487383179366589 -0.9999898076057434 1.016931855701841e-005 0 -0.002270088996738195 -4.575493051106605e-008 0.9999972581863403 0 -0.02998023852705956 0.7686992287635803 -0.02058133110404015 1</Transform></Instance>
<Instance id="inst2052896" name="Valve Spring:123-702;0,Parts" partRef="#id327">
<ApplicationRef application="TCC-VIS" label="Valve Spring:123-702;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id328">-0.821344792842865 -0.3829995691776276 0.4227339625358582 0 -0.3831273019313812 -0.1786547750234604 -0.9062537550926209 0 0.4226182997226715 -0.9063078165054321 -4.468796817036491e-007 0 -0.2707940638065338 0.1454340070486069 0.1220441088080406 1</Transform></Instance>
<Instance id="inst1725624" name="Valve_Sub:;0,Parts" partRef="#id333">
<ApplicationRef application="TCC-VIS" label="Valve_Sub:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id334">0.4546822905540466 0.654166042804718 0.6044259667396545 0 -0.8696395754814148 0.4726209938526154 0.1426760256290436 0 -0.1923305839300156 -0.5905050039291382 0.7837809920310974 0 0.09187051653862 0.08063256740570068 0.1662608832120895 1</Transform></Instance>
<Instance id="inst1914472" name="Valve:123-700;0,Parts" partRef="#id341">
<ApplicationRef application="TCC-VIS" label="Valve:123-700;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id342">0.7850326299667358 0.06081443279981613 -0.6164620518684387 0 -0.1356190741062164 0.9878997206687927 -0.07524674385786057 0 0.6044265031814575 0.1426751911640167 0.7837809920310974 0 -0.001248535001650453 -0.2500619888305664 -0.09022713452577591 1</Transform></Instance>
<Instance id="inst1734000" name="Valve Spring Cap:123-704;0,Parts" partRef="#id347">
<ApplicationRef application="TCC-VIS" label="Valve Spring Cap:123-704;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id348">0.7850326299667358 0.06081448495388031 -0.6164620518684387 0 -0.3924773633480072 -0.7211050391197205 -0.5709372162818909 0 -0.4792551398277283 0.6901518106460571 -0.5422225594520569 0 0.0455969013273716 0.2435131669044495 0.06938881427049637 1</Transform></Instance>
<Instance id="inst1730152" name="Spring:;0,Parts" partRef="#id353">
<ApplicationRef application="TCC-VIS" label="Spring:;0,Parts.asm;0;0:"></ApplicationRef>
<Transform id="id354">1 -3.002940829333056e-008 3.437022044749938e-008 0 -4.150651022882812e-008 1.000000238418579 4.017514854126603e-008 0 3.73510147255729e-008 2.773385787691041e-008 1 0 -1.489124112907803e-008 -4.276215381793236e-009 1.08718030134014e-008 1</Transform></Instance>
<Instance id="inst1910040" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id362">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1410751193761826 0.09142301231622696 -0.3314632773399353 1</Transform></Instance>
<Instance id="inst1910640" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id367">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.05227819457650185 0.07644443958997726 -0.1796288043260574 1</Transform></Instance>
<Instance id="inst1911040" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id370">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1347948610782623 0.09093648940324783 -0.3265315294265747 1</Transform></Instance>
<Instance id="inst1911768" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id373">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.05855846777558327 0.07595790922641754 -0.1746970862150192 1</Transform></Instance>
<Instance id="inst1912168" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;4:"></ApplicationRef>
<Transform id="id376">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1285146176815033 0.0904499888420105 -0.3215998709201813 1</Transform></Instance>
<Instance id="inst1912968" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;5:"></ApplicationRef>
<Transform id="id379">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.0648387148976326 0.07547140121459961 -0.1697653979063034 1</Transform></Instance>
<Instance id="inst1920696" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;6:"></ApplicationRef>
<Transform id="id382">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1222343519330025 0.08996346592903137 -0.3166681826114655 1</Transform></Instance>
<Instance id="inst1827264" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;7:"></ApplicationRef>
<Transform id="id385">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.07111898809671402 0.07498487830162048 -0.1648336797952652 1</Transform></Instance>
<Instance id="inst1920976" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;8:"></ApplicationRef>
<Transform id="id388">-0.6893028616905212 -0.1355008780956268 0.7116888165473938 0 -0.6755837202072144 0.4749762713909149 -0.5639010667800903 0 -0.2616261541843414 -0.8695042133331299 -0.4189447462558746 0 0.1159540787339211 0.08947695046663284 -0.3117364346981049 1</Transform></Instance>
<Instance id="inst1994408" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;9:"></ApplicationRef>
<Transform id="id391">0.8620703816413879 -0.01532000117003918 -0.506557047367096 0 -0.4340352714061737 0.4936883747577667 -0.7535817623138428 0 0.261626124382019 0.8695042133331299 0.4189446866512299 0 -0.07739924639463425 0.07449836283922195 -0.1599020063877106 1</Transform></Instance>
<Instance id="inst1994616" name="Valve_Sub:;0,Parts" partRef="#id394">
<ApplicationRef application="TCC-VIS" label="Valve_Sub:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id395">-0.4546823501586914 0.6541661024093628 -0.6044260263442993 0 0.8696396350860596 0.4726210236549377 -0.1426760405302048 0 0.192330613732338 -0.5905051231384277 -0.7837811708450317 0 0.01489819493144751 0.08582951128482819 -0.04803464561700821 1</Transform></Instance>
<Instance id="inst1995632" name="Spring:;0,Parts" partRef="#id408">
<ApplicationRef application="TCC-VIS" label="Spring:;0,Parts.asm;0;1:"></ApplicationRef>
<Transform id="id409">1 2.298901691233368e-008 -2.432995493961698e-008 0 -3.89851670945518e-008 0.9999998807907105 -1.280528216796029e-008 0 -3.000558379540053e-008 -2.485903749516183e-008 0.9999998807907105 0 -1.494453005790319e-009 -7.655864275868396e-010 -5.496130661697407e-009 1</Transform></Instance>
<Instance id="inst1722840" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;10:"></ApplicationRef>
<Transform id="id421">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1413719058036804 0.08810769766569138 -0.3271084725856781 1</Transform></Instance>
<Instance id="inst1723976" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;11:"></ApplicationRef>
<Transform id="id424">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.05524870008230209 0.07287602126598358 -0.1727083474397659 1</Transform></Instance>
<Instance id="inst1725736" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;12:"></ApplicationRef>
<Transform id="id427">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1366616934537888 0.08774281293153763 -0.3234097063541412 1</Transform></Instance>
<Instance id="inst1995424" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;13:"></ApplicationRef>
<Transform id="id430">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.05995889753103256 0.07251112163066864 -0.1690095812082291 1</Transform></Instance>
<Instance id="inst1726232" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;14:"></ApplicationRef>
<Transform id="id433">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1319515109062195 0.08737793564796448 -0.3197109401226044 1</Transform></Instance>
<Instance id="inst1727160" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;15:"></ApplicationRef>
<Transform id="id436">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.06466909497976303 0.07214623689651489 -0.165310800075531 1</Transform></Instance>
<Instance id="inst1722360" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;16:"></ApplicationRef>
<Transform id="id439">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.127241313457489 0.08701304346323013 -0.3160121440887451 1</Transform></Instance>
<Instance id="inst1995528" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;17:"></ApplicationRef>
<Transform id="id442">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.0693792924284935 0.07178134471178055 -0.1616120338439941 1</Transform></Instance>
<Instance id="inst1995008" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;18:"></ApplicationRef>
<Transform id="id445">-0.7145452499389648 -0.1154179275035858 0.6900026798248291 0 -0.652251660823822 0.4665488302707672 -0.5974109768867493 0 -0.252968043088913 -0.8769325613975525 -0.4086517691612244 0 0.1225311160087585 0.08664815127849579 -0.3123133778572083 1</Transform></Instance>
<Instance id="inst2053416" name="Spring Link:;0,Parts" partRef="#id361">
<ApplicationRef application="TCC-VIS" label="Spring Link:;0,Parts.part;0;19:"></ApplicationRef>
<Transform id="id448">0.8450331687927246 0.005398655775934458 -0.5346865653991699 0 -0.4710902869701386 0.4805829524993897 -0.7396714687347412 0 0.252968043088913 0.8769325613975525 0.4086517691612244 0 -0.07408948242664337 0.0714164674282074 -0.1579132527112961 1</Transform></Instance>
<Instance id="inst2053208" name="Valve:123-700;0,Parts" partRef="#id341">
<ApplicationRef application="TCC-VIS" label="Valve:123-700;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id451">0.7850325107574463 0.06081444025039673 -0.6164620518684387 0 -0.135619044303894 0.9878994226455689 -0.07524680346250534 0 0.6044264435768127 0.1426751613616943 0.7837807536125183 0 -0.005746716633439064 -0.250409871339798 -0.08668788522481918 1</Transform></Instance>
<Instance id="inst1862560" name="Valve Spring Cap:123-704;0,Parts" partRef="#id347">
<ApplicationRef application="TCC-VIS" label="Valve Spring Cap:123-704;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id454">0.7850325703620911 0.06081447005271912 -0.6164620518684387 0 -0.3681581914424896 -0.7545340657234192 -0.543265700340271 0 -0.498180091381073 0.6534368991851807 -0.5699445009231567 0 0.03418708592653275 0.2526659965515137 0.06506367027759552 1</Transform></Instance>
<Instance id="inst1719832" name="Rocker Arm:123-600;0,Parts" partRef="#id457">
<ApplicationRef application="TCC-VIS" label="Rocker Arm:123-600;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id458">0.9026297330856323 0.4304179251194 -9.149687798526429e-007 0 -0.4304179251194 0.9026297330856323 4.554329109396349e-007 0 1.028840756589489e-006 1.773579327846164e-008 0.9999999403953552 0 0.2777610719203949 0.5800805687904358 -0.005389846861362457 1</Transform></Instance>
<Instance id="inst1729824" name="Rocker Arm_copy:123-602;0,Parts" partRef="#id463">
<ApplicationRef application="TCC-VIS" label="Rocker Arm_copy:123-602;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id464">0.9026297926902771 -0.4304177463054657 -9.298340728491894e-007 0 0.4304177463054657 0.9026297926902771 -4.242589284331189e-007 0 1.028840756589489e-006 1.773579505481848e-008 0.9999999403953552 0 0.3539793193340302 0.3309040069580078 -0.005389927886426449 1</Transform></Instance>
<Instance id="inst1726936" name="Valve Cover_copy:;0,Main" partRef="#id469">
<ApplicationRef application="TCC-VIS" label="Valve Cover_copy:;0,Main.part;0;0:"></ApplicationRef>
<Transform id="id470">1 -6.184104131534696e-005 -1.004268028736988e-006 0 1.011203266898519e-006 1.773524793691195e-008 0.9999999403953552 0 -6.184104131534696e-005 -1 -1.720678532990405e-008 0 0.05108792707324028 0.3257383704185486 0.09109834581613541 1</Transform></Instance>
<Instance id="inst1722616" name="Head Nut:123-005;0,Parts" partRef="#id245">
<ApplicationRef application="TCC-VIS" label="Head Nut:123-005;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id475">0.9999933242797852 1.67195413069976e-008 0.003653878346085548 0 0.003653871593996882 -1.767486601522705e-008 -0.9999932646751404 0 -1.665473980949628e-008 1 1.726829879089564e-008 0 0.08119496703147888 0.2477381825447083 0.2201460599899292 1</Transform></Instance>
<Instance id="inst1760240" name="Valve Spring:123-702;0,Parts" partRef="#id327">
<ApplicationRef application="TCC-VIS" label="Valve Spring:123-702;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id478">-0.8213930130004883 0.3830220103263855 0.4226199984550476 0 -0.3830239772796631 0.1786065548658371 -0.9063069224357605 0 -0.4226182103157044 -0.9063078165054321 4.008188341231289e-007 0 -0.141640841960907 0.3886727094650269 0.1220077648758888 1</Transform></Instance>
<Instance id="inst1724160" name="Valve Cover:123-701;0,Parts" partRef="#id481">
<ApplicationRef application="TCC-VIS" label="Valve Cover:123-701;0,Parts.part;0;0:"></ApplicationRef>
<Transform id="id482">-1.552728390308289e-009 5.031413063960599e-009 -1 0 5.031413063960599e-009 1 5.031413063960599e-009 0 1 -5.031413063960599e-009 -1.552728390308289e-009 0 0.2239999771118164 0.03198792412877083 0.02350873127579689 1</Transform></Instance>
<Instance id="inst1723752" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id489">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999570846558 0.02160527557134628 -0.1053286641836166 1</Transform></Instance>
<Instance id="inst1725216" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id492">-5.582201367815287e-013 -0.0009254564647562802 -0.9999995827674866 0 -6.028238463962055e-010 -0.9999995827674866 0.0009254564647562802 0 -1 6.028241239519616e-010 3.326781192647572e-016 0 -0.2949999570846558 0.02149887569248676 0.0004925570683553815 1</Transform></Instance>
<Instance id="inst1758176" name="Head Stud:123-006;0,Parts" partRef="#id46">
<ApplicationRef application="TCC-VIS" label="Head Stud:123-006;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id495">1.421973649939901e-012 0.002356703858822584 -0.9999971985816956 0 -6.033720745257654e-010 -0.9999971985816956 -0.002356703858822584 0 -1 6.033737398603023e-010 -3.700562300775484e-019 0 -0.2949999570846558 0.123807780444622 -0.1001014932990074 1</Transform></Instance>
<Instance id="inst1919952" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id498">2.757793993168889e-013 4.575816179956671e-013 1 0 4.575816179956671e-013 -1 4.575816179956671e-013 0 1 4.575816179956671e-013 -2.757793993168889e-013 0 0.09999999403953552 -0.1338488161563873 0.03437212482094765 1</Transform></Instance>
<Instance id="inst2053728" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;2:"></ApplicationRef>
<Transform id="id501">4.052314039881821e-013 1.110223024625157e-015 1 0 1.110223024625157e-015 1 -1.110223024625157e-015 0 -1 1.110223024625157e-015 4.052314039881821e-013 0 -0.09999999403953552 -0.06615116447210312 0.01437209732830524 1</Transform></Instance>
<Instance id="inst2050288" name="Lifter:123-923;0,Parts" partRef="#id52">
<ApplicationRef application="TCC-VIS" label="Lifter:123-923;0,Parts.part;0;3:"></ApplicationRef>
<Transform id="id504">4.052314039881821e-013 1.110223024625157e-015 1 0 1.110223024625157e-015 1 -1.110223024625157e-015 0 -1 1.110223024625157e-015 4.052314039881821e-013 0 -0.09999999403953552 -0.06615117192268372 -0.005627896171063185 1</Transform></Instance>
<Instance id="inst1998064" name="rod:123-699;0,Parts" partRef="#id58">
<ApplicationRef application="TCC-VIS" label="rod:123-699;0,Parts.part;0;1:"></ApplicationRef>
<Transform id="id507">-0.9861037135124207 0.1661308258771896 1.702963710921711e-016 0 -0.1661308258771896 -0.9861037135124207 -3.509013978502231e-016 0 1.096343463342109e-016 -3.743166442952229e-016 1 0 -0.07101806253194809 -0.02219301089644432 -0.01999999769032002 1</Transform></Instance>
<Part id="id14" name="2_Cylinder_Engine" instanceRefs="inst1779056 inst1913768 inst1910440 inst1937376 inst1895856 inst2026000 inst1848008 inst2010456 inst1758176 inst1919952 inst2053728 inst2050288 inst1998064" type="assembly">
<UserData id="id33" type="Hidden_Metadata">
<UserValue value="156001" title="TOOLKIT_CUSTOMER"></UserValue></UserData>
<UserData id="id44">
<UserValue value="2_Cylinder_Engine" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:30.00" title="Version Create Date + Time"></UserValue>
<UserValue value="2 Cylinder Engine" title="I-DEAS Name"></UserValue>
<UserValue value="123-001" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Jan-10-2005 13:23:55.05" title="Version Mod. Date + Time"></UserValue></UserData>
<Occurrence id="id16" instanceRefs="#inst1798736">
<Transform id="id17">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Occurrence></Part>
<Part id="id46" name="Head Stud:123-006;0,Parts" type="solid">
<Bound id="id49" values="-0.03247146308422089 0.07456196844577789 -0.1150000020861626 0.006500001531094313 0.006495191715657711 0.1150000020861626"></Bound>
<Representation id="id50" format="JT" location="./2_Cylinder_Engine/Head_Stud_123_006_0_Parts.jt"></Representation></Part>
<Part id="id52" name="Lifter:123-923;0,Parts" type="solid">
<Bound id="id55" values="-0.02437210455536842 -0.03384878858923912 -0.04250000044703484 0.00774999987334013 0.007749963086098433 0.04250000044703484"></Bound>
<Representation id="id56" format="JT" location="./2_Cylinder_Engine/Lifter_123_923_0_Parts.jt"></Representation></Part>
<Part id="id58" name="rod:123-699;0,Parts" type="solid">
<Bound id="id61" values="0.02005359902977943 -0.006323420908302069 0 0.09100000560283661 0.03700000047683716 0.009999999776482582"></Bound>
<Representation id="id62" format="JT" location="./2_Cylinder_Engine/rod_123_699_0_Parts.jt"></Representation></Part>
<Part id="id64" name="Piston Sub:;0,Parts" instanceRefs="inst1912768 inst1865720" type="assembly">
<UserData id="id72">
<UserValue value="Piston Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Piston Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData>
<Occurrence id="id66" instanceRefs="#inst1798736 #inst1937376">
<Transform id="id67">-1 -1.334063881586189e-008 -7.982826621955041e-010 0 1.10096191110321e-032 -1 -3.018818806569426e-016 0 -7.293991291219912e-017 -3.018818806569426e-016 1 0 -0.1368601024150848 0.06445372104644775 0.003820367390289903 1</Transform></Occurrence></Part>
<Part id="id74" name="Piston:123-844;0,Parts" type="solid">
<Bound id="id80" values="0.0101108755916357 0.009526152163743973 0 0.05324159190058708 0.04650000110268593 0.04649999737739563"></Bound>
<Occurrence id="id76" materialRef="id77" instanceRefs="#inst1798736 #inst1937376 #inst1912768">
<Transform id="id78">-1 -3.025554562441357e-008 -3.172106577409295e-009 0 1.10096191110321e-032 -1.00000011920929 -3.018819071267222e-016 0 -7.293991291219912e-017 -3.018819071267222e-016 1.00000011920929 0 -0.2946771681308746 0.07397986948490143 0.01617963425815105 1</Transform></Occurrence>
<Representation id="id81" format="JT" location="./2_Cylinder_Engine/Piston_123_844_0_Parts.jt"></Representation></Part>
<Part id="id83" name="Piston pin:123-845;0,Parts" type="solid">
<Bound id="id86" values="-0.2534925639629364 0.09658930450677872 0.04250000044703484 0.01099999435245991 0.01099186204373837 0.04250000044703484"></Bound>
<Representation id="id87" format="JT" location="./2_Cylinder_Engine/Piston_pin_123_845_0_Parts.jt"></Representation></Part>
<Part id="id89" name="Piston Sub:;0,Parts" instanceRefs="inst1671584 inst2012776" type="assembly">
<UserData id="id100">
<UserValue value="Piston Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:24.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Piston Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id108" name="CamShaft Sub:123-990;0,Parts" instanceRefs="inst2054176 inst1938944" type="assembly">
<UserData id="id121">
<UserValue value="CamShaft Sub:123-990;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:25.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="CamShaft Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-990" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:11:35.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id123" name="Cam_shaft:123-457;0,Parts" type="solid">
<Bound id="id126" values="0.05063954740762711 -0.03493684902787209 -4.356868157628924e-005 0.1267500072717667 0.02063110843300819 0.01902950927615166"></Bound>
<Representation id="id127" format="JT" location="./2_Cylinder_Engine/Cam_shaft_123_457_0_Parts.jt"></Representation></Part>
<Part id="id129" name="cam_gear:123-456;0,Parts" type="solid">
<Bound id="id132" values="0 -0.1000000014901161 -0.002500000409781933 0.06898061186075211 0.06888007372617722 0.01250000018626452"></Bound>
<Representation id="id133" format="JT" location="./2_Cylinder_Engine/cam_gear_123_456_0_Parts.jt"></Representation></Part>
<Part id="id135" name="Crank_Sub:123-555;0,Parts" instanceRefs="inst1838360 inst1857888" type="assembly">
<UserData id="id148">
<UserValue value="Crank_Sub:123-555;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Aug-14-2001 14:13:01.00" title="Version Create Date + Time"></UserValue>
<UserValue value="Crank_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-555" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:13:01.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id150" name="crank:123-782;0,Parts" type="solid">
<Bound id="id153" values="4.847693617193727e-006 0 -0.01325000263750553 0.06299515068531036 0.03500000014901161 0.1267500072717667"></Bound>
<Representation id="id154" format="JT" location="./2_Cylinder_Engine/crank_123_782_0_Parts.jt"></Representation></Part>
<Part id="id156" name="crank_gear:123-783;0,Parts" type="solid">
<Bound id="id159" values="0 -0.0001077877532225102 -0.002500000409781933 0.03597993031144142 0.03586557507514954 0.01250000018626452"></Bound>
<Representation id="id160" format="JT" location="./2_Cylinder_Engine/crank_gear_123_783_0_Parts.jt"></Representation></Part>
<Part id="id162" name="Body Sub:123-002;0,Parts" instanceRefs="inst2026392 inst2026184 inst1996904 inst1858736 inst1726008 inst1729056 inst1724160 inst1723752 inst1725216" type="assembly">
<UserData id="id177">
<UserValue value="Body Sub:123-002;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:29.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Body Sub" title="I-DEAS Name"></UserValue>
<UserValue value="123-002" title="I-DEAS Part Number"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="Aug-14-2001 14:10:00.00" title="Version Mod. Date + Time"></UserValue></UserData>
<Occurrence id="id164" instanceRefs="#inst1798736 #inst2010456">
<Transform id="id165">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform></Occurrence></Part>
<Part id="id179" name="Case_r:123-200;0,Parts" type="solid">
<Bound id="id184" values="0 -0.04548577964305878 -0.003500004298985004 0.0949999988079071 0.1354857832193375 0.1164999976754189"></Bound>
<Occurrence id="id181" materialRef="id182" instanceRefs="#inst1798736 #inst2010456 #inst2026392"></Occurrence>
<Representation id="id185" format="JT" location="./2_Cylinder_Engine/Case_r_123_200_0_Parts.jt"></Representation></Part>
<Part id="id187" name="Cylinder_1:123-100;0,Parts" type="solid">
<Bound id="id193" values="0.01856433786451817 0.05655883997678757 2.846240931830835e-007 0.08050000667572022 0.0950000062584877 0.08000028133392334"></Bound>
<Occurrence id="id189" materialRef="id190" instanceRefs="#inst1798736 #inst2010456 #inst2026184">
<Transform id="id191">1 -5.030475147549396e-009 -8.559119635265233e-008 0 1.553537853915543e-009 -1.993428355717697e-008 1 0 -5.03141173169297e-009 -1 -1.993428355717697e-008 0 0.4018276929855347 0.004671174101531506 -0.01877834275364876 1</Transform></Occurrence>
<Representation id="id194" format="JT" location="./2_Cylinder_Engine/Cylinder_1_123_100_0_Parts.jt"></Representation></Part>
<Part id="id196" name="Cylinder_2:123-101;0,Parts" type="solid">
<Bound id="id200" values="0.01856433786451817 0.05655883997678757 2.846240931830835e-007 0.08050000667572022 0.0950000062584877 0.08000028133392334"></Bound>
<Occurrence id="id198" materialRef="id190" instanceRefs="#inst1798736 #inst2010456 #inst1996904"></Occurrence>
<Representation id="id201" format="JT" location="./2_Cylinder_Engine/Cylinder_2_123_101_0_Parts.jt"></Representation></Part>
<Part id="id203" name="cylinder bolt pattern:;0,Parts" type="solid">
<Bound id="id206" values="-0.1074714586138725 0.0745619609951973 -0.1150000020861626 0.08149999380111694 0.08149999380111694 0.1150000020861626"></Bound>
<Representation id="id207" format="JT" location="./2_Cylinder_Engine/cylinder_bolt_pattern__0_Parts.jt"></Representation></Part>
<Part id="id209" name="Head_1:123-150;0,Parts" type="solid">
<Bound id="id215" values="0.005008736159652472 -0.03048798069357872 0.04119380190968514 0.1079999953508377 0.09020166844129562 0.0411965511739254"></Bound>
<Occurrence id="id211" materialRef="id212" instanceRefs="#inst1798736 #inst2010456 #inst1726008">
<Transform id="id213">-1.553142503496474e-009 5.031413952139019e-009 -1 0 5.031442373848449e-009 1 5.031413063960599e-009 0 1 -7.856474439904559e-007 -1.082494804904854e-007 0 0.5421041250228882 0.03720489889383316 0.04404613375663757 1</Transform></Occurrence>
<Representation id="id216" format="JT" location="./2_Cylinder_Engine/Head_1_123_150_0_Parts.jt"></Representation></Part>
<Part id="id218" name="Head2 Sub:;0,Parts" instanceRefs="inst1727816 inst2027256 inst1842808 inst1906944 inst2052896 inst1725624 inst1994616 inst1719832 inst1729824 inst1726936 inst1722616 inst1760240" type="assembly">
<UserData id="id230">
<UserValue value="Head2 Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Head2 Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id232" name="Head_2:123-151;0,Parts" type="solid">
<Bound id="id236" values="0.005008736159652472 -0.03048798069357872 -0.04119383916258812 0.1079999953508377 0.09020166844129562 0.04119651019573212"></Bound>
<Occurrence id="id234" materialRef="id212" instanceRefs="#inst1798736 #inst2010456 #inst1729056 #inst1727816"></Occurrence>
<Representation id="id237" format="JT" location="./2_Cylinder_Engine/Head_2_123_151_0_Parts.jt"></Representation></Part>
<Part id="id239" name="Spark Plug:;0,Parts" type="solid">
<Bound id="id242" values="0.03006996028125286 0.2239631712436676 0.02060705050826073 0.01078151073306799 0.009165501222014427 0.0493929535150528"></Bound>
<Representation id="id243" format="JT" location="./2_Cylinder_Engine/Spark_Plug__0_Parts.jt"></Representation></Part>
<Part id="id245" name="Head Nut:123-005;0,Parts" type="solid">
<Bound id="id248" values="0.02565165981650353 0.2141639441251755 -0.008499999530613422 0.01200000010430813 0.01199112832546234 0.008499999530613422"></Bound>
<Representation id="id249" format="JT" location="./2_Cylinder_Engine/Head_Nut_123_005_0_Parts.jt"></Representation></Part>
<Part id="id251" name="Rocker_Sub:;0,Parts" instanceRefs="inst2033120 inst1789832 inst2033672 inst1949072" type="assembly">
<UserData id="id262">
<UserValue value="Rocker_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Rocker_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id264" name="Rocker Arm Shaft:123-601;0,Parts" type="solid">
<Bound id="id267" values="-0.04317900538444519 0.4631594121456146 0.05750000104308128 0.006500000134110451 0.006495170295238495 0.05750000104308128"></Bound>
<Representation id="id268" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_Shaft_123_601_0_Parts.jt"></Representation></Part>
<Part id="id270" name="Rocker_Mount_Sub:;0,Parts" instanceRefs="inst1796000 inst2030512 inst1725832 inst2029080" type="assembly">
<UserData id="id276">
<UserValue value="Rocker_Mount_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Rocker_Mount_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id278" name="Rocker Mount:123-604;0,Parts" type="solid">
<Bound id="id281" values="0.005044352263212204 -0.05961518362164497 0.007500000298023224 0.0494999997317791 0.02099999971687794 0.007500000298023224"></Bound>
<Representation id="id282" format="JT" location="./2_Cylinder_Engine/Rocker_Mount_123_604_0_Parts.jt"></Representation></Part>
<Part id="id284" name="Rocker Mount Cap:123-608;0,Parts" type="solid">
<Bound id="id287" values="0.005044352263212204 -0.05511518567800522 0.007500000298023224 0.0494999997317791 0.006499998271465302 0.007500000298023224"></Bound>
<Representation id="id288" format="JT" location="./2_Cylinder_Engine/Rocker_Mount_Cap_123_608_0_Parts.jt"></Representation></Part>
<Part id="id290" name="Rocker Bolt:123-603;0,Parts" type="solid">
<Bound id="id293" values="0.02305358275771141 0.2096639275550842 -0.04050000011920929 0.007499999366700649 0.007494449149817228 0.04050000011920929"></Bound>
<Representation id="id294" format="JT" location="./2_Cylinder_Engine/Rocker_Bolt_123_603_0_Parts.jt"></Representation></Part>
<Part id="id299" name="Rocker_Mount_Sub:;0,Parts" instanceRefs="inst1996808 inst1867136 inst1948848 inst1997256" type="assembly">
<UserData id="id310">
<UserValue value="Rocker_Mount_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:27.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Rocker_Mount_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id327" name="Valve Spring:123-702;0,Parts" type="solid">
<Bound id="id330" values="-0.2873985767364502 -0.0646171048283577 0.0324999988079071 0.008999995887279511 0.008993340656161308 0.0324999988079071"></Bound>
<Representation id="id331" format="JT" location="./2_Cylinder_Engine/Valve_Spring_123_702_0_Parts.jt"></Representation></Part>
<Part id="id333" name="Valve_Sub:;0,Parts" instanceRefs="inst1914472 inst1734000 inst1730152" type="assembly">
<UserData id="id339">
<UserValue value="Valve_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="Valve_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id341" name="Valve:123-700;0,Parts" type="solid">
<Bound id="id344" values="0.1265590041875839 0.2941140830516815 0 0.05499999970197678 0.01800000295042992 0.01798668131232262"></Bound>
<Representation id="id345" format="JT" location="./2_Cylinder_Engine/Valve_123_700_0_Parts.jt"></Representation></Part>
<Part id="id347" name="Valve Spring Cap:123-704;0,Parts" type="solid">
<Bound id="id350" values="0.2066644430160523 0.2842055261135101 0 0.004499997943639755 0.01600000448524952 0.01598815992474556"></Bound>
<Representation id="id351" format="JT" location="./2_Cylinder_Engine/Valve_Spring_Cap_123_704_0_Parts.jt"></Representation></Part>
<Part id="id353" name="Spring:;0,Parts" instanceRefs="inst1910040 inst1910640 inst1911040 inst1911768 inst1912168 inst1912968 inst1920696 inst1827264 inst1920976 inst1994408" type="assembly">
<UserData id="id359">
<UserValue value="Spring" title="I-DEAS Name"></UserValue>
<UserValue value="Spring:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue></UserData></Part>
<Part id="id361" name="Spring Link:;0,Parts" type="solid">
<Bound id="id364" values="0.1303011178970337 -0.04939981177449226 0.007499259896576405 0.001999998930841684 0.01499851979315281 0.007499259896576405"></Bound>
<Representation id="id365" format="JT" location="./2_Cylinder_Engine/Spring_Link__0_Parts.jt"></Representation></Part>
<Part id="id394" name="Valve_Sub:;0,Parts" instanceRefs="inst1995632 inst2053208 inst1862560" type="assembly">
<UserData id="id406">
<UserValue value="Valve_Sub:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="**Changes not in Library**" title="Revision"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Jan-30-1998 16:58:26.00" title="Version Create Date + Time"></UserValue>
<UserValue value="Valve_Sub" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id408" name="Spring:;0,Parts" instanceRefs="inst1722840 inst1723976 inst1725736 inst1995424 inst1726232 inst1727160 inst1722360 inst1995528 inst1995008 inst2053416" type="assembly">
<UserData id="id419">
<UserValue value="Spring:;0,Parts" title="Name"></UserValue>
<UserValue type="int" value="0" title="Version"></UserValue>
<UserValue value="sgerus" title="Creator"></UserValue>
<UserValue value="Jan-30-1998 16:58:25.00" title="Version Create Date + Time"></UserValue>
<UserValue value="INITIAL" title="State"></UserValue>
<UserValue value="Spring" title="I-DEAS Name"></UserValue>
<UserValue value="sgerus" title="Last Modifier"></UserValue>
<UserValue value="May-03-1999 15:12:04.00" title="Version Mod. Date + Time"></UserValue></UserData></Part>
<Part id="id457" name="Rocker Arm:123-600;0,Parts" type="solid">
<Bound id="id460" values="-0.2874188423156738 -0.1816282123327255 0.04250000044703484 0.03894562274217606 0.01755017042160034 0.04250000044703484"></Bound>
<Representation id="id461" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_123_600_0_Parts.jt"></Representation></Part>
<Part id="id463" name="Rocker Arm_copy:123-602;0,Parts" type="solid">
<Bound id="id466" values="-0.2914990782737732 -0.1816282123327255 0.04250000044703484 0.03894564881920815 0.01755017600953579 0.04250000044703484"></Bound>
<Representation id="id467" format="JT" location="./2_Cylinder_Engine/Rocker_Arm_copy_123_602_0_Parts.jt"></Representation></Part>
<Part id="id469" name="Valve Cover_copy:;0,Main" type="solid">
<Bound id="id472" values="0.003508739871904254 -0.03198798000812531 0.0386538989841938 0.101500004529953 0.09204161167144775 0.03634610027074814"></Bound>
<Representation id="id473" format="JT" location="./2_Cylinder_Engine/Valve_Cover_copy__0_Main.jt"></Representation></Part>
<Part id="id481" name="Valve Cover:123-701;0,Parts" type="solid">
<Bound id="id486" values="0.003508739871904254 -0.03198803216218948 0.1113460958003998 0.101500004529953 0.09204155951738358 0.03634609654545784"></Bound>
<Occurrence id="id483" instanceRefs="#inst1798736 #inst2010456 #inst1724160">
<Transform id="id484">-1.552729944620523e-009 5.031413063960599e-009 -1 0 5.0314401534024e-009 1 5.031413063960599e-009 0 1 -3.418919334308157e-007 -1.096145751944277e-007 0 0.6029092669487 0.04294551536440849 0.04271972924470902 1</Transform></Occurrence>
<Representation id="id487" format="JT" location="./2_Cylinder_Engine/Valve_Cover_123_701_0_Parts.jt"></Representation></Part></InstanceGraph>
<Material id="id77" diffuse="1 0 1" specular="1 0 1" emissive="0 0 0" ambient="0 0 0" shininess="96" alpha="0.1000000238418579"></Material>
<Material id="id182" diffuse="0.847058892250061 0.847058892250061 0.847058892250061" specular="0.8000000715255737 0.8000000715255737 0.8000000715255737" emissive="0 0 0" ambient="0.1490196138620377 0.1490196138620377 0.1490196138620377" shininess="96" alpha="0.5"></Material>
<Material id="id190" diffuse="0.6509804129600525 0.7921569347381592 0.9411765336990356" specular="0.6509804129600525 0.7921569347381592 0.9411765336990356" emissive="0 0 0" ambient="0.1490196138620377 0.1490196138620377 0.1490196138620377" shininess="96" alpha="0.5"></Material>
<Material id="id212" diffuse="1 0 0" specular="1 0 0" emissive="0 0 0" ambient="0.1490196138620377 0.1490196138620377 0.1490196138620377" shininess="96" alpha="0.5"></Material></ProductDef></PLMXML>

Some files were not shown because too many files have changed in this diff Show More