Vytisknout stránku | Zavřít okno

Delit v meritku

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=1108
Datum vytištění: 13.čer.2026 v 00:32


Téma: Delit v meritku
Odeslal: Asterix
Předmět: Delit v meritku
Datum odeslání: 14.čvc.2005 v 13:31
Dobrý den, chtěla bych požádat o radu zkušenějšího programátora než sem já. V cadu je funkce "dělm" (measure), kterou bych potřebovala použít v makru. Bohužel nejsem, schopná nalézt postup jak toho dosáhnout. Poradí někdo? Díky 

-------------
Lenka M.



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 14.čvc.2005 v 13:44

v jakém makru?

např. v LISPu stačí něco jako

(setq e (entsel))
(command "_MEASURE" e 123.45)

 



-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Asterix
Datum odeslání: 14.čvc.2005 v 13:47
Ve VisualBasicu

-------------
Lenka M.


Odeslal: Vladimír Michl
Datum odeslání: 14.čvc.2005 v 14:24
to je horší, DIVIDE/MEASURE a EXPLODE nemají ActiveX rozhraní, takže jedině použít SendCommand

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Asterix
Datum odeslání: 14.čvc.2005 v 14:39
Hmmm, tak s tim nemam vubec zadnou zkusenost, ale zkusim to nekde najit. Dekuju

-------------
Lenka M.


Odeslal: Asterix
Datum odeslání: 14.čvc.2005 v 15:12

Tak sem neco nasla, ale neni to uplne ono. Asi mam spatne paramtery. SendCommand poustim v cyklu, ale provede se to pouze u posledniho prvku. Nemohl byste mi jeste poradit? Zapsane to mam nejspis uplne hrozne takhle:

For Each prvky In vyber
ThisDrawing.SendCommand "_measure" & vbCr & "vyber" & vbCr & "b" & vbCr & "geohaie2" & vbCr & "a" & vbCr & "10" & vbCr
 Next prvky

prvky je promenna Dim prvky As AcadEntity

vyber je Dim vyber As AcadSelectionSet

 



-------------
Lenka M.


Odeslal: Seiner
Datum odeslání: 14.čvc.2005 v 15:32

Jen při zběžném pohledu mi nesedí ...& vbCr & "vyber" & vbCr & "b"...

Vy tam posíláte text vyber, ale podle mého by tam měla být proměnná prvky.



Odeslal: Asterix
Datum odeslání: 14.čvc.2005 v 16:00
Ja to zkousela oboji, ale chovalo se stejne. Ted to z nejakeho duvodu nefunguje najednou vubec. V prikazove radce v cadu to hlasi chybu Neplatny vyber.Ocekava se jediny objekt. A to i v pripade, kdy je ve vyberu jen 1 prvek. Pro dnesek to vzdavam. Dekuju za pomoc.

-------------
Lenka M.


Odeslal: Seiner
Datum odeslání: 15.čvc.2005 v 08:18
A jak tvorite tu vyberovou mnozinu?


Odeslal: Asterix
Datum odeslání: 15.čvc.2005 v 08:19

Tak sem tu zas. Zkousela jsem jiny typ cyklu, kde se pouzivaji indexy, ale nepomohlo to.  Nevim jak mam v prikazu SendCommand napsat parametr prvky(i) tak, aby to pak v prikazove radce nehlasilo chybu *Neplatny vyber*, Ocekava se jediny objekt.

Dim prvky(0 To 10) As AcadEntity

For i = 0 To N
 prvky(i).Offset (-10)
 ThisDrawing.SendCommand "_measure" & vbCr & "prvky(i)" & vbCr & "b" & vbCr & "geohaie2" & vbCr & "a" & vbCr & "10" & vbCr
Next i



-------------
Lenka M.


Odeslal: Asterix
Datum odeslání: 15.čvc.2005 v 08:27

Zatim jen tak provizorne. Mám ve výkresu jen 2 usecky a na tom to zkousim.

For i = 0 To 1
Set prvky(i) = ThisDrawing.ModelSpace.Item(i)
Next i



-------------
Lenka M.


Odeslal: Seiner
Datum odeslání: 15.čvc.2005 v 08:41
Podle mého je zásadní nepochopení v tom, že tam nemůžete napsat text "prvky(i)". Metoda SendCommand v podstatě posílá texty na příkazovou řádku. Napsala byste na příkazovou řádku prvky(i) a očekávala nějaký výsledek?
Přiznám se, že jsem ještě podobnou konstrukci nepoužil a teď nevím, jak to udělat. V lispu bych se odkazoval na proměnnou, ve které by byla příslušná entita. Možná nějaká konstrukce s příkazem "VYBER" a vybrání Předchozí.


Odeslal: Vladimír Michl
Datum odeslání: 15.čvc.2005 v 11:00
Mrkněte se na kurz 13 na stránce Téma - programování AutoCADu a Inventoru, třeba vám to pomůže:
http://www.cadforum.cz/cadforum/tema.asp - http://www.cadforum.cz/cadforum/tema.asp

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: Asterix
Datum odeslání: 15.čvc.2005 v 12:37
Děkuju moc. Projdu to. Hezký den. L.

-------------
Lenka M.


Odeslal: Asterix
Datum odeslání: 15.čvc.2005 v 14:53
Funguje. Uz jen nejaky kosmeticky upravy a je hotovo. Klidne pak dam makro k dispozici kdyz bude zajem. Jeste jednou dekuju vsem a preji hezky den. 

-------------
Lenka M.



Vytisknout stránku | Zavřít okno