Zobrazit plnou verzi příspěvku: měřítko

jersey
07.05.2008, 19:15
Dobrý den, Jak zvětším měřítko výkresu pouze v jedné ose, ( konkrétně se mi jedná o průhyb venkovního vedení, kdy v ose X musím zvětšit měřítko, aby byl znázorněněný průhyb vedení zřetelný na výkresu)
předem děkuji

Vladimír Michl
07.05.2008, 19:40
Popis možností najdete v tipu (VIP):
http://www.cadforum.cz/cadforum/qaID.asp?tip=2124

jersey
07.05.2008, 19:47
Dobrý den, všiml sem si toho, ale nemám ACAD od vaší firmy :o(((

PepaR
08.05.2008, 08:30
Nevím co je v tipu, ale snadno lze toho docílit, když si entity převedete na blok a ten může mít v každé ose jiné měřítko. PepaR2008-05-08 19:38:22

jersey
12.05.2008, 18:13
to ano,  ale něco jednodušího? nejaká utilitka?

PepaR
12.05.2008, 19:37
Byla by byla, trošku jsem pohledal na fórech a přikládm výsledek - nezkoušel jsem, tak kdyžtak napište zda je funkční.
 

uploads/20080512_193718_Scaleaxis.lsp PepaR2008-05-12 19:40:57

jersey
13.05.2008, 12:00
nějak mi to nejde rozchodit, načetl sem lips a pakl se snažil přijít na to jak dostat měřítko jen v jedné ose :o((( nevíte jak by to mělo pracovat?

Sedláček
13.05.2008, 13:04
Doplnil jdem nějaká podtržítka pro angilcké příkazy a parametry.
Funguje to tak, že vytvoří pomocný blok (_block..), vloží ho se změněným měřítkem (_insert..), rozbije ho (_explode..) a vyčistí výkres (_purge..)
 
 
;;;SCALEAXIS.LSP
;--------------------------------------------------; ERROR TRAPPING;--------------------------------------------------
(defun errtrap (msg)  (cond    ((not msg))    (      (member msg '("Function cancelled" "quit / exit abort"))      (command "undo" "")    )    (      (princ (strcat "\nError: " msg))      (command "undo" "")    )  );cond);defun
;--------------------------------------------------;  MAIN ROUTINE;--------------------------------------------------
(defun c:scaleaxis (/ *error* *ss1 bspt ax mult refpt refdx newdx)
(command "._undo" "_end" "._undo" "_begin")(setq *error* errtrap)
(setq ss1 (ssget))(setq bspt (getpoint "\nSelect basepoint: "))(initget "X Y Z")(if  (not    (setq ax (getkword "\nSpecify axis to scale: <X> "))  );not  (setq ax "X"));if
(if  (not     (setq mult (getreal "\nEnter scale factor or <Reference>: "))  );not  (progn    (setq refpt1 (getpoint "\nSpecify reference length: "))    (setq refdx (getdist refpt1 "\nSpecify second point: "))    (setq newdx (getdist refpt1 "\nSpecify new length: "))    (setq mult (/ newdx refdx))  );progn);if
(setvar "expert" 2)(setvar "explmode" 1)(command "._-block" "SCALETEMP" bspt ss1 "")(command "._-insert" "SCALETEMP" ax mult bspt "0")(command "._explode" "_last" "")(command "._-purge" "_blocks" "SCALETEMP" "_n")(setvar "expert" 1)
(command "._undo" "_end")
(princ)(*error* nil))

jersey
15.05.2008, 21:55
dobrý den, zatím sem neměl možnost to vyzkoušet, chtěl bych se¨zeptat,  když nahraju lips jak pak postupuju s prvkem, abych si určil kterou osu chci v měřítku zvětšit?

alfred
16.05.2008, 06:56
Pri spustenem lispu si vyberete osu (X, Y, Z) a pak meritko.

zmente si radku :
(setq ax (getkword "\nSpecify axis to scale: <X> "))

na
(setq ax (getkword "\nSpecify axis to scale: [osa X/osa Y/osa Z] <X> "))

Mate tak hned vypsany jak moznosti volby tak defaultni nastaveni.

jersey
17.05.2008, 19:10
vubec se mi to nedaří rozběhat, po nactení lispu,  do příkazový řádky napíšu jakou osu chci dám měřítko, ale pořád se mi hejbe ve dvou osách zároveň.
 
?
 jersey2008-05-17 19:11:46

PepaR
18.05.2008, 08:27
V pátek jsem to zkoušel a funkce šlapala bez problémů. Přikládám upravenou a lokalizovanou verzi - viz příspěvky alfreda a pana Sedláčka.
uploads/20080518_082700_SCALEAXIS.lspPepaR2008-05-18 08:27:30

jersey
18.05.2008, 13:47
ak ted už vážně netušim, v nástrojích načtu AUTOlips, vyderu požadovaný lips, načtu ho, možnostech mám nastavenou cestu, a pak by to mělo normálně fungovat? do příkazový řádky napsat osu, dám měřítko  a objekt by se měl zvětšit v požadovaný ose. Nezapomněl sem někde na něco ????

PepaR
18.05.2008, 14:56
1) Načtete lisp
2) Spustíte jej příkazem SCALEAXIS
3) Vyberete objekty
4) Zadáte osu
5) Zadáte měřítko

jersey
18.05.2008, 18:06
jasný , sem ho zapomněl spustit, díky moc!