313 | | = Primer: Uvoz STEP modela in izluščevanje topoloških elementov = |
| 313 | === Primer: Boolova algebra: odštevanje (ang. cut) === |
| 314 | |
| 315 | Spodaj je prikazan primer boolove algebre na primeru kocke in krogle. Pri tem je kot za dodatek prikazano tudi, kako se lahko spreminja barvo in prosojnost modela, da dobimo enak rezultat kot je prikazano na sliki. |
| 316 | |
| 317 | V SALOME Python konzolo vnesemo naslednje ukaze: |
| 318 | |
| 319 | [[Image(SHAPER_example_cut.png,right,400px)]] |
| 320 | |
| 321 | {{{ |
| 322 | #!python |
| 323 | |
| 324 | from salome.shaper import model |
| 325 | |
| 326 | model.begin() |
| 327 | # Dodajanje novega dokumenta |
| 328 | partSet = model.moduleDocument() |
| 329 | moj_part = model.addPart(partSet) |
| 330 | |
| 331 | # Dodajanje novega part-a |
| 332 | part_dokument = moj_part.document() |
| 333 | |
| 334 | # Dodajanje kocke: |
| 335 | moja_kocka = model.addBox(part_dokument, 10, 10, 10) |
| 336 | # - Določevanje refenc do kocke ter imena kocke (spremembe se lahko opazi tudi v |
| 337 | # Object Browserju (GUI) |
| 338 | moja_kocka.setName("Kocka") |
| 339 | moja_kocka.result().setName("Kocka") |
| 340 | |
| 341 | # Dodajanje nove točke |
| 342 | # To točko se bo uporabilo za definiranje pozicijo središča krogle |
| 343 | moja_tocka = model.addPoint(part_dokument, 0, 0, 10) |
| 344 | # - Določevanje referenc to točke ter imena točke |
| 345 | moja_tocka.setName("Tocka") |
| 346 | moja_tocka.result().setName("Tocka") |
| 347 | |
| 348 | # Dodajanje krogle s središčem v točki (vozlišče -> ang. vertex) |
| 349 | moja_krogla = model.addSphere(part_dokument, model.selection("VERTEX", "Tocka"), 5) |
| 350 | # - Določevanje referenc to krogle ter imena krogle |
| 351 | moja_krogla.setName("Krogla") |
| 352 | moja_krogla.result().setName("Krogla") |
| 353 | |
| 354 | # Izdelava izreza oz. odštevanja (ang. cut) |
| 355 | moj_izrez = model.addCut(part_dokument, |
| 356 | [model.selection("SOLID", "Kocka")], |
| 357 | [model.selection("SOLID", "Krogla")]) |
| 358 | # - Določevanje primernih referenc to krogle ter imena krogle |
| 359 | # (SHAPER samodejno določi ime oz. referenco tega izreza -> "Kocka") |
| 360 | moj_izrez.setName("Izrez") |
| 361 | moj_izrez.result().setName("Izrez") |
| 362 | |
| 363 | # Dodatno: UREJANJE PRIKAZA MODELA |
| 364 | |
| 365 | # Določimo barvo - modro |
| 366 | # Opomba: Barvo ne bo prikazalo takoj. V Object Broserju je potrebno model |
| 367 | # skriti ter zopet prikazati ter se bo tako posodobila barva modela. |
| 368 | # Drugi način je uporaba part_dokument.setAcive(False/True), kot je prikazano |
| 369 | # proti koncu kode tega primera |
| 370 | moj_izrez.result().setColor(255,255,0) |
| 371 | |
| 372 | # Prejšnja krogla nam ni več na voljo. Naredimo novo |
| 373 | # Dodajanje krogle s središčem v točki (vozlišče -> ang. vertex) |
| 374 | moja_krogla2 = model.addSphere(part_dokument, model.selection("VERTEX", "Tocka"), 5) |
| 375 | # - Določevanje referenc to krogle ter imena krogle |
| 376 | moja_krogla2.setName("Krogla2") |
| 377 | moja_krogla2.result().setName("Krogla2") |
| 378 | moja_krogla2.result().setColor(255,255,0) |
| 379 | moja_krogla2.result().setTransparency(0.7) |
| 380 | |
| 381 | # Posodobitev barv in transparentnosti v oknu za ogled modela |
| 382 | part_dokument.setActive(False) |
| 383 | part_dokument.setActive(True) |
| 384 | |
| 385 | # Zaključevanje in prikaz modela |
| 386 | model.do() |
| 387 | model.end() |
| 388 | |
| 389 | }}} |
| 390 | |
| 391 | |
| 392 | |
| 393 | === Primer: Uvoz STEP modela in izluščevanje topoloških elementov === |