{"id":17281556,"url":"https://github.com/markusl/tekla-structures-snake","last_synced_at":"2025-10-27T15:12:33.568Z","repository":{"id":145302535,"uuid":"10803907","full_name":"markusl/Tekla-Structures-Snake","owner":"markusl","description":"Tekla Structures Snake","archived":false,"fork":false,"pushed_at":"2015-07-14T11:21:55.000Z","size":277,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T16:56:20.000Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/markusl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-19T19:08:14.000Z","updated_at":"2024-12-12T08:14:30.000Z","dependencies_parsed_at":"2023-03-31T17:13:42.434Z","dependency_job_id":null,"html_url":"https://github.com/markusl/Tekla-Structures-Snake","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markusl%2FTekla-Structures-Snake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markusl%2FTekla-Structures-Snake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markusl%2FTekla-Structures-Snake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markusl%2FTekla-Structures-Snake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markusl","download_url":"https://codeload.github.com/markusl/Tekla-Structures-Snake/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245679664,"owners_count":20654874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T09:46:12.799Z","updated_at":"2025-10-27T15:12:28.509Z","avatar_url":"https://github.com/markusl.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Tekla Structures Snake plugin\n======================\nThis Tekla Structures plugin enables you to play Snakes in Tekla Structures model view.\n\nThis is what Snakes game looks like.\n![Snakes game](/img/snake_window.png)\n\nThis is what Snakes game looks like in *Tekla Structures*.\n![Snakes game](/img/ts_snake_view.png)\n\nHow to play Snakes\n-------------\nClick on the toolbar icon and use your arrow keys to turn the head into another direction.\n\nHow to install Snakes\n-------------\n1.  Build Snake.sln Visual Studio project using Visual Studio 2013\n2.  `Snake.dll` and `FSharp.Core.dll` build to the plugins directory.\n\nTekla Structures log will notify you that Plug-in Play Snakes in `C:\\Program Files\\Tekla Structures\\21.0\\nt\\bin\\plugins\\Tekla\\Model` loaded successfully.`\nNote: Tekla Structures 21.0 x64 is the default output directory. For other versions of Tekla Structures, you need to change the references in build settings.\n\nConfiguring Snakes in Tekla Structures toolbar\n-------------\n![Toolbar configuration](/img/ts_toolbar.png)\n\nTechnical stuff\n-------------\nThis is a (proof of concept) **in-process** plugin that creates a new [AppDomain](http://msdn.microsoft.com/en-us/library/system.appdomain.aspx) in which a new WPF window is launched in a new STA-thread to handle user input for the Snake movement.\nYou *should not* create new windows when overriding `Tekla.Structures.Plugins.PluginBase.Run` method but you should do what is recommended in the documentation.\n\nImplementation is written in [F#](http://fsharp.net/) programming language which works on .NET framework like C#.\nCode contains Snake game logic functionality, WPF window for visualizing and controlling the Snake, Tekla Structures plugin stub to launch the window. Snake can also be played without Tekla Structures model visualization using the standalone application.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkusl%2Ftekla-structures-snake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkusl%2Ftekla-structures-snake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkusl%2Ftekla-structures-snake/lists"}