AutoCAD-natiiviobjektin toteutus

Samankaltaiset tiedostot
S11-09 Control System for an. Autonomous Household Robot Platform

Visual Case 2. Miika Kasnio (C9767)

Ohjelmiston toteutussuunnitelma

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Juho Anttila SUUNNITTELUAUTOMAATIO CAD-OHJELMISSA

NC-koneet ja niiden ohjelmointi

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Teollinen Internet, IoT valimoissa ja konepajoissa

HELIA 1 (11) Outi Virkki Tiedonhallinta

Tekstinkäsittelyn jatko KSAO Liiketalous 1

Luento 3 Tietokannan tietosisällön suunnittelu

ohjelman arkkitehtuurista.

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Navistools Standard. Navistools

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Action Request System

30 Opetussuunnitelma OSAAMISEN ARVIOINTI ARVIOINNIN KOHTEET JA AMMATTITAITOVAATIMUKSET OSAAMISEN HANKKIMINEN. järjestelmätyöt: työskentely

PLA Mobiiliohjelmointi. Mika Saari

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen

Vinkkejä Balsamiq Mock-Up työkalun käyttöön

Qt kaikkialla?

Järjestelmäriippumattomia siivousohjeita

työssäoppimispaikan työtehtävissä toimiminen ammattiosaamisen näytön suorittaminen näyttösuunnitelman mukaan. Ammattitaidon osoittamistavat

Avoin lähdekoodi. Jani Kylmäaho Maanmittauslaitos

PLA Mobiiliohjelmointi. Mika Saari

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

EUREFin vaikutukset organisaatioiden tietojärjestelmiin

DIPLOMITYÖ ARI KORHONEN

19/20: Ikkuna olio-ohjelmoinnin maailmaan

Uudet ominaisuudet. Realise Your Vision

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Built Environment Process Reengineering (PRE)

Yhteensopiva ja stabiili. Käsitteellistää suunnittelun. Parempi kuin koskaan aiemmin. Yksityiskohtien tarkka kuvaus. Saumaton kommunikaatio

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Internet-pohjainen ryhmätyöympäristö

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

3D-tulostus ja OpenSCAD. Juha Biström, Mikko Simenius, Joel Tolonen

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Uudelleenkäytön jako kahteen

Kuntasektorin kokonaisarkkitehtuuri

JULKISET RAKENNUKSET HIRRESTÄ

Joustava tapa integroida järjestelmiä node-red:llä visuaalisesti - Internet of Things & Industrial Internet

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

VBE II Tulosseminaari Teknologian valmiusaste. Virtuaalirakentamisen Laboratorio Jiri Hietanen

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

Tuotannon laitteiden käyttöasteen seuranta

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

TIETOKANNAN SUUNNITTELU

VYPEdit verkkosivualusta SVY-toimijoille

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

9. Muunneltavuuden hallinta

SoberIT Ohjelmistoliiketoiminnan ja tuotannon laboratorio

15. Ohjelmoinnin tekniikkaa 15.1

Tarvitseeko informaatioteknologia matematiikkaa?

Solmu ja Siiri ajankohtaista Vapriikin kuva-arkistosta. Riitta Kela

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

MixW ja Dx-vihjeet (ohje) oh3htu

HAME PostGIS-tietokanta

Goalkeeper Game Statistics (v12) käyttöohjeet

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

CUDA. Moniydinohjelmointi Mikko Honkonen

Projektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

Haka-käyttäjien kokoontuminen Arto Tuomi CSC Tieteen tietotekniikan keskus

Omahoitopolut.fi Toteutuksen tilannekatsaus

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Co-Automation on alansa edelläkävijä automaation ja robotiikan hyödyntämisessä valmistavan teollisuuden automaatioratkaisuissa.

SULAUTETTUJEN JÄRJESTELMIEN AMMATILLISET ERIKOISTUMISOPINNOT (30 op)

Finto palveluiden toteuttamisen alustana

Järjestelmäriippumattomia siivousohjeita

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7

T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli

Ohjelmiston testaus ja laatu. Testaustasot

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Fidelix-rakennusautomaatiojärjestelmän FxEditorin Excel-konfiguraatiomakro

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Projektisuunnitelma. Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys

15. Ohjelmoinnin tekniikkaa 15.1

KYMENLAAKSON AMMATTIKORKEAKOULU. Ubuntu. Yukun Zhou

Työssäoppimispaikan työtehtävien ja ammattiosaamisen näytön suorittaminen työssäoppimisja näyttösuunnitelman mukaan hyväksytysti.

Osaa käyttää työvälineohjelmia, tekstinkäsittelyä taulukkolaskentaa ja esitysgrafiikkaa monipuolisesti asiakasviestintään.

Julkaisutiedot läpinäkyviksi: julkaisuportaali. Tampereen teknillinen yliopisto, Jyrki Ilva

HSL-tietoisku: Uusi Avoin reittiopas ja pysäkkikuulutukset. Kerkko Vanhanen, VAMPO-seminaari

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

A-Tiilikate objektikirjasto

Joustotilat Tampereella

Transkriptio:

AutoCAD-natiiviobjektin toteutus

Kontiotuote OY Maailman toiseksi suurin hirsitalotoimittaja Aloittanut toimintansa 70-luvulla Liikevaihto vuonna 2003-37,355 Milj. euroa josta vientiä 7,376 Milj. euroa Työntekijöitä vuonna 2003 noin 230 Kotipaikka Pudasjärvi, myyntikonttoreita ympäri maata

Pudasjärven tehdas

AutoCAD ja Tietokoneavusteinen suunnittelu AutoCAD on markkinajohtaja ohjelmisto tietokoneavusteiseen suunnitteluun. Tätä tietokoneavusteista suunnitelua kutsutaan kansainvälisesti termeillä: CAD(Computer Aided Desing) CAM (Computer Aided Manufacturing) Nykyään n. 95% kaikesta suunnittelusta tehdään tietokoneavusteisesti AutoDesk julkaisi ensimmäisen version vuonna 1982 Tämän jälkeen useita eri versioita

AutoCADin muokattavuus Koska perus AutoCADit ovat niin sanotusti yleiskäyttöisiä ohjelmistoja, AutoCADohjelmistoja räätälöidään kunkin yrityksen ja toimialan tarpeisiin Tarjolla myös valmiita ratkaisuja VBA (Visual Basic for Applications) ObjectARX ja ObjectDBX LISP Tietokanta

AutoCADin VBA AutoDesk lisäsi VBA:n AutoCADin versioon R14 Yksinkertainen Ei salli natiiviobjektien luomista

AutoCADin ObjectARX / ObjectDBX C++/MFC/ATL/COM -pohjainen ohjelmointirajapinta Lisättiin AutoCADin versioon R13 ObjectARXilla tehdään kaikki muut toiminnot paitsi objektit. ObjectDBX komponentit tarvitsevat aina ObjectARX -, LISP -, VBA - tai muun vastaavan rajapinnan toimiakseen ObjectDBXillä luodaan AutoCADin tietokantarakennekomponentti, eli esimerkiksi natiiviobjektit.

Mikä on natiiviobjekti? Graaffinen objekti Voidaan toteuttaa halutut toiminnot Itsenäinen Ei sisällä käyttöliittymää Tietokantarakennekomponentti Voidaan tehdä useita instansseja Oma XData (Extended Entity Data)

HirsiCAD 2002 Laajennus AutoCADiin Käytössä hirsirakenteiden suunnittelussa Kontiotuotteella. Toimii AutoCAD 2000/2002 -ympäristöissä Toteutettu VBA (Visual Basic for Applications) -ohjelmointikielellä.

Tutkimustehtävä Koska VBA ei salli AutoCADin syvällistä muokkaamista, toimeksiantaja halusi selvittää, kuinka ObjectARX-teknologiaa hyödyntäen HirsiCAD 2002:sta voitaisiin kehtitää toimimaan paremmin monimutkaisten grafiikkaobjektien kanssa Asiat, joita oli tarkoitus selvittää: tutkia, kuinka ObjectARXilla pystyttäisiin tekemään monimutkaisia kolmiulotteisiakin objekteja tutkia ja käytännössä testata, kuinka nämä ohjelmoimalla toteutetut natiiviobjektit saataisiin toimimaan VBA:lla tehdyssä ohjelmistossa tutkia kuinka objekti käyttäytyy, jos AutoCADin versiota vaihdetaan arvioida onko näiden monimutkaisempien objektien luominen taloudellisesti kannattavaa käyttäen ObjectARXia

Aloitus Käytetyt ohjelmistot: AutoCAD 2002 Visual Studio.Net ja 6.0 ObjectARX SDK Alkuun SDK:n opettelua kirjan mukaan Visual Studio.Net:illä tuntui olevan vaikeuksia käyttää ObjectARX 2002:sen SDK:ta. Vaatimusmäärittely

Natiiviobjekti Tutkimus objektiksi valitsimme yksinkertaisen pilarin. (suorakulmainen särmiö ja suora ympyrälieriö) Tarvittiin sekä ObjectDBX että ObjectARX projektit Objektin rungoksi valitisin 3D-solid muodon, jolla pystyi valmiiksi piirtämään halutut geometriat. Käyttöliittymä

Esimerkki pilareista

Toimivuus VBAn kanssa Mahdollista Tarvitsee ns. warpper luokan rajapinnaksi ATL

Kannattaako taloudellisesti? Toteutus vei noin 250 tuntia Uusi objekti minulta syntyisi nyt noin 50-100 tunnissa. Jos toteutettavat objektit sisältävät hieman enemmän toimintoja niin niihin käytetty ohjelmointi aika maksaa itsensä takaisin suunniteluajassa pitemmällä tähtäimellä.

Tulokset #1 Työn toteutuksen aikana selvisi, että ObjectARXilla ei suoraan pystytä tekemään natiiviobjekteja, mutta käyttäen ObjectDBXää tämä on mahdollista. Tehtyjä objekteja pystytään kutsumaan VBA:lla, jos niille tehdään rajapintaluokka käyttäen ObjectARXia.

Tulokset #2 Koska en saanut käyttööni AutoCADin muita versioita, en kyennyt testaamaan kuinka nämä objektit toimivat muissa AutoCADversioissa, teoriassa tämän pitäisi onnistua. Taloudellisesti objektien toteutus on kannattavaa, kunhan objekti ei ole liian yksinkertainen.

Ongelmia ObjectARXiin ja ObjectDBXään vaikea päästä sisälle Materiaalin määrä ja sen laatu Bugit velhossa

Yhteenveto Toimiva mutta vaativa teknologia Tarvitaan niin C++ osaamista, kuin AutoCAD osaamista Hyvin toteutetut natiiviobjektit säästävät suunnittelijoiden työtä

Mitä opin? AutoCAD perusteita ObjectARXia ja DBX kohtuullisen syvällisesti Projektityöskentelyä