Changes between Version 23 and Version 24 of PythonOcc/primitives
- Timestamp:
- Nov 14, 2013, 7:09:45 AM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PythonOcc/primitives
v23 v24 251 251 == Uporaba geometrijskih primitivov == 252 252 253 Izdelava kvadra [[Image(Kvader.png, right)]] 253 === Izdelava kvadra === 254 [[Image(Kvader.png, right)]] 254 255 {{{ 255 256 #!python … … 262 263 * (Tocka1, dolzina_X, dolzina_Y, dolzina_Z) ... kvader se prične izrisovati od točke 1 (X,Y,Z) dalje inje določen z razdaljami posameznih robov[[BR]][[BR]] 263 264 * (Tocka 1, Tocka2) ... kvader določimo s koordinatami dveh točk, ki ježita v nasproti ležečih ogliščih 264 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 265 266 267 Izdelava izvleka pod kotom nagiba [[Image(Kvader-nagib.png, right)]] 265 [[BR]][[BR]][[BR]][[BR]] 266 267 268 === Izdelava izvleka pod kotom nagiba === 269 [[Image(Kvader-nagib.png, right)]] 268 270 {{{ 269 271 #!python … … 278 280 * (dolzina_X, dolzina_Y, dolzina_Z, dolzina_X/2, 0, dolzina_X/2, dolzina_Z) ... določimo razdalje posameznih robov kvadra, ter dimenzijo spremenjenega roba Z[[BR]][[BR]] 279 281 * (dolzina_X, dolzina_Y, dolzina_Z, dolzina_X/2, dolzina_Z/2, dolzina_X/2, dolzina_Z/2)... določimo razdalje posameznih robov kvadra, preostali argumenti nam podajo obliko piramide 280 [[BR]][[BR]][[BR]] 281 282 283 Izdelava valja [[Image(Valj.png, right)]] 282 [[BR]] 283 284 285 === Izdelava valja === 286 [[Image(Valj.png, right)]] 284 287 {{{ 285 288 #!python … … 298 301 os = gp_Ax2(Tocka, normala) #definicija osi 299 302 }}} 300 [[BR]][[BR]][[BR]][[BR]][[BR]] 301 302 303 Izdelava stožca [[Image(Stozec.png, right)]] 303 [[BR]][[BR]] 304 305 306 === Izdelava stožca === 307 [[Image(Stozec.png, right)]] 304 308 {{{ 305 309 #!python … … 311 315 * (Radij_1, Radij_2, Visina, Kot_radiani) ... izdelamo delni stožec, določen s kotom, z osnovo radija 1 ter na višini H z radijem 2[[BR]][[BR]] 312 316 * (Os, Radij_1, Radij_2, Visina, Kot_radiani) ... izdelamo delni stožec okoli izbrane osi, določen s kotom, z osnovo radija 1 ter na višini H z radijem 2 313 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 314 315 316 Izdelava sfere [[Image(Sfera.png, right)]] 317 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 318 319 320 === Izdelava sfere === 321 [[Image(Sfera.png, right)]] 317 322 {{{ 318 323 #!python … … 326 331 * (Radij, Kot_a1_rad, Kot_a2_rad) ... izdelave sfere, ki ima odstanjen sredinski del pod kotom 1 in kotom 2[[BR]][[BR]] 327 332 * (Radij, Kot_a1_rad, Kot_a2_rad, Kot_radiani) ... izdelave delne sfere, ki ima odstanjen sredinski del pod kotom 1 in kotom 2 328 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 329 330 Izdelava torusa [[Image(Torus.png, right)]] 333 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 334 335 === Izdelava torusa === 336 [[Image(Torus.png, right)]] 331 337 {{{ 332 338 #!python … … 339 345 * (Radij_torusa, Radij_prereza, Kot_radiani) ... izdelava delnega torusa s središčnim radijem ter polmerom prereza[[BR]][[BR]] 340 346 * (Radij_torusa, Radij_prereza, Kot_a1_rad, Kot_a2_rad) ... izdelava delnega torusa, ki ima odstanjen sredinski del pod kotom 1 in kotom 2 341 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 342 343 344 Izdelava izvleka [[Image(Izvlek_2.png, right)]] 347 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 348 349 350 === Izdelava izvleka === 351 [[Image(Izvlek_2.png, right)]] 345 352 {{{ 346 353 #!python … … 351 358 * (Povrsina , Vektor) ... izberemo obstoječo površino ter jo izvlečemo za velikost vektorja 352 359 * (Povrsina , Smer) ... izberemo obstoječo površino ter jo izvlečemo v željeni smeri 353 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 354 355 356 Izdelava krožnega izvleka [[Image(Izvlek_krozni.png, right)]] 360 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 361 362 363 === Izdelava krožnega izvleka === 364 [[Image(Izvlek_krozni.png, right)]] 357 365 {{{ 358 366 #!python … … 363 371 * (Povrsina , Os) ... zavrtimo izbrano površino okoli osi 364 372 * (Povrsina , Os, Kot_radiani) ... zavrtimo izbrano površino za kot okoli osi 365 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 373 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 366 374 ---- 367 375 … … 401 409 sestevanje = BRepAlgoAPI_Fuse(Oblika1,Oblika2) 402 410 }}} 403 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] [[BR]]411 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 404 412 405 413 … … 410 418 presek = BRepAlgoAPI_Common(Oblika1,Oblika2) 411 419 }}} 412 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] [[BR]]420 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 413 421 414 422 … … 419 427 odstevanje = BRepAlgoAPI_Cut(Objekt1, Objekt2) 420 428 }}} 421 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] [[BR]][[BR]]429 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 422 430 423 431 … … 432 440 rezultat = BRepBuilderAPI_Transform(Oblika, Translacija).Shape() 433 441 }}} 434 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] [[BR]][[BR]]442 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 435 443 436 444 … … 464 472 465 473 ==== Zaokrožitev s konstantnim radiem zaokrožitve ==== 466 Prvi korak je izbira objekta, na katerem se izvede zaokrožitev: 474 Prvi korak je izbira objekta, na katerem se izvede zaokrožitev: [[Image(25.png, right)]] 467 475 {{{ 468 476 #!python … … 477 485 # zaokrozitev.Add(Radij_1, Radij_2 , aEdge) 478 486 }}} 487 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] [[Image(26.png, right)]] 479 488 Za izbiro točno določenih robov, na katerih hočemo izvesti zakrožitve, je potrebno vpeljati različne geometrijske teste. Primer, ko hočemo zakrožiti zgolj vertikalne robove kocke. Vpeljemo preprosti test, ki nam pove, če točki robova ležita na isti ravnini (X,Y). 480 489 {{{ … … 487 496 }}} 488 497 Pri izdelavi zaokrožitev moramo biti pozorni na velikost zaokrožitve. Vrednost zaokrožitve mora biti dovolj majhna da lahko normalno zaokrožimo robove. 489 490 ==== Zaokrožitev z variabilnim radiem zaokrožitve ==== 498 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 499 500 501 ==== Zaokrožitev z variabilnim radiem zaokrožitve ==== 502 [[Image(27.png, right)]] 491 503 Za apliciranje variabilnega radija zaokrožitve na modelu je potrebno razdeliti izbrani rob na intervale ter nato določiti radij zaokrožitve na določenem intervalu. Primer razdelitve robu na 6 intervalov ter določitev parametrov: 492 504 {{{ … … 516 528 }}} 517 529 530 518 531 ==== Zaokrožitev okoli točke ==== 532 [[Image(28.png, right)]] 519 533 Zaokrožitev lahko izvedemo tudi okoli točke. V tem primeru je potrebno najprej izbrati točko, okoli katere hočemo izvesti zaokrožitev. Nato določimo vse robove, ki imajo začetno ali končno vozlišče v izbrani točki, ter izvedemo zaokrožitev na teh robovih. To lahko naredimo z uvedbo nove funkcije: 520 534 {{{ … … 539 553 zaokrozitev_tocka = vertex_fillet(oblika,tocka1) 540 554 }}} 555 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] 556 541 557 542 558 === Izdelava posnetij (Chamfer) ===