Shortform: [male] ---- [http://www.angesagter.de/img/28/283e432333131e8e8b26dba17b237dff.jpg] ---- I'm born in Hamburg/Germany in 1971 and I'm living in Berlin/Germany since 1999. Up to 1999 I studied mechanical engineering, specialized on construction/design and informatics. My tcl experiences began in 1997 to extend adminstrational CAD system supporting software. Since than I stuck on tcl/tk! *g* ---- Since 1999 I work in a former very small company dCADE. Than dCADE became a part of UGS, former Unigraphics Solutions, previously a part of EDS called EDS PLM Solutions (PLM = Product Lifecycle Management) and now belonging to Siemens Automation & Drives - Siemens PLM Software [http://www.siemens.com/plm] The last years I was working mainly on the build of schemable converters for data exchange between different kind of systems and our simulation system. But my main work is about CAD system to simulation converters. My work was about process-, networkcommunication, data extraction and export via parsing or API usage. The simulation system '''PLS''' (Press Line Simulation), I developed for is, used to simulate, verify sheet manifacturing presslines, presses and dies (kinematics, collisions, flow of material, ...). It's used too for offline programming, pressline transfer tooling construction and verification, assembly validation, etc.. This simulation application logic is written in tcl, combined with a C++ executable, handling the connection to a Motif/MFC UI and our simulation toolkit (with a exported tcl interface). We build in MFC and Motif scalable application specific widgets that export commands to tcl. So I'm used to say, that we have a C++ core (executable) and an exchangable application written in tcl. "My" CAD system to simulation converters were built via these C++ core (often a shared object), a library or shared object containing a C++ to tcl interface from the CAD system API and the tcl application, that is nearly identically from CAD system to system. The platforms to be supported were NT/w2k/XP, IRIX, AIX, Solaris and HP-UX. Main customers for this simulation application are automotive companys and their subcontractors all over the world. Currently I'm working on connecting CNC-/NC-Controllers with the NC-Simulations we sell, like NX CAM and eM-RealNC. ---- !!! A long time ago I asked Theo Verelst ([TV]) to host my packages, which he did a long time, but currently all the packages mentioned below are only available on demand (e-mail) !!! ---- '''tcl appliations (mostly for Windows):''' * binaryClock (an alarm clock showing the current time (including seconds) as binary value, making sounds) * comics (my daily web comic downloader) * eMailViewer (an application to view RFC822 formatted text files (emails, MHT files)) * GaleryGenerator (an application to generate HTML galeries from JPEG files using their comments, thumbnails, and EXIF meta data) * [idtagviewer] (an id tag viewer/editor application [http://wiki.tcl.tk/idtagviewer]) * junctionUpdater (an application to update links and (ActiveDirectory) junctions) * newUuid (an application comparable to the guidgen, but with a bit more possibilities to format the new UUID) * obfuscateHTML (an application to obfuscate text using HTML entities, to hide information a bit) * preorder (an application to preorder every product Amazon already provides in its Marketplace) * runOnceTool (an application to allow to create RunOnce entries inside the registry) '''tcl only packages (no Tk required):''' * !include (C-include like behaviour to source files - enhanced version of [http://wiki.tcl.tk/3165]) * arrays (advanced parray command, with the syntax: parray ''?channel? arrayName ?elementPattern?'') * atexit exit-handler/finalizer package, inspired by [http://wiki.tcl.tk/3958]) * cache (a package allowing to cache evaluation results - proc a {args} {cache::restore a; ...; return [[cache::store a $result]]}) * clist (compressed lists like {1-4 8-9 10} representing {1 2 3 4 8 9 10}) * colors (rgb <-> hls, rgb <-> cymk, rgb <-> hsv, manipulation of brighteness, saturation) * config (a kind of cmdline, opt package, but a bit more complex with typed option validation, reading/writing option configurations from/to files/environment variables, etc.) * const (a variable const'ification package to get constant variables/arrays) * do (a do-while, do-until control structure package) * ensemble (a package to emulate the namespace ensembles for tcl 8.4 in a slighty different way than in tcl 8.5) * files (a package to find files recursively, to loop over recursively found files, to grep recursively files) * htmlEntities (a package to map non-ASCII or all characters inside a text to HTML entities (like """) and back) * introspection (a package to extract runtime information about and from the tcl interpeter to collect information about the call stack, variables or namespaces during the runtime and to format this information as ASCII text, HTML or XML data to save it to a file) * lists (this package brings a lot of lists handling commands) * log (a very simple log package using execution traces, writing formatted output to a file) * maths (a mathmatical package with a lot of vector and matrix operations, etc.) * mp3file (a file command extension with the new sub commands bitrate, channelmode, codec, copyright, duration, private, original, samplerate, mp3info, album, artist, genre, title, track, year, idtags) * obfuscate (a package reading from or creating files with obfuscated ASCII data) * procBackup (a package to backup and to restore procedures inside an application, that might be changed during runtime) * static (a package to declare a procedure variable to be static and available at the next procedure evaluation) * stopwatch (a package for (run)time measurement) * strings (a string command extension providing new sub commands to allow line orientated string access, to count characters or sub strings, to apply line wrapping, to change all words in a string to the title-case, to find the n-th occurrence of a sub string, to find the longest common prefix of strings in a list, to insert a string into another, to detect pairs of strings like opening and closing paranthesis using REs) * vrml (a vrml parsing and Shape node content returning package) * with (a package allowing to evaluate code with variables only known inside this evaluation scope, not allowing to shadow existing variables) '''tcl only packages (Tk required):''' * balloon (another balloon/tooltip package) * datechooser (a kind of date picker) * hexView (a kind of mega-widget to display data hexadecimal) * htmlView (a HTML viewing widget using TkHTML 2.x, allowing to protect agains Web-Bugs, not executing any scripts nor applets, with the feature to load images only from the domain, the web page is loaded from) * mp3player (a MP3 file player widget using the package mp3file) * openWith (a windows-only package to get and to visualize all applications to be used with a file like using "Open with ..." inside the explorer context menu) * optionsDlg (a simple modal toplevel options dialog) * recent (a kind of recent-file-emulation) * selector (a mega-widget displaying a list of data and providing a filter entry to filter those data to select a sub set of this data) * sorter (a mega-widget displaying a list of data, providing to sort this data, allowing to use a filter entry to easier the selection of a sub set of the data) * textDlg (a simple dialog showing non-changable text) '''binary packages with MS Windows DLL:''' * tcl_messageBox (a tk_messageBox for tcl without tk, for tcl/tk v8.1+) * pstclapi (PSAPI tcl API to execute, introspect, and/or kill processes) * shutdown (a command to logoff from, poweroff, reboot, or shutdown the computer it is used on, for tcl/tk v8.1+) ---- Contact via Internet: * company contact: mailto:martin.lemburg.siemens-plm@gmx.net - http://www.siemens.com/plm * privat contact: mailto:martin.lemburg@nurfuerspam.de ---- [[[Category Home Page]|[Category Person]]]