Visual studio megoldások - plug - mérő hossza görbék

Ebben a leírásban megpróbáljuk létrehozni a legegyszerűbb és a leginkább véleményem helyes, és annyira hiányzik Korela plugin hosszát méri görbék. Lehetséges a tervezők teljesen felesleges funkció, míg az emberek a Corel mindenféle műszaki alkalmazások nagyon szükséges funkciót. Jegyezzük meg, nem kell semmilyen harmadik féltől származó programok nem kell letölteni semmit, senkinek, még egy idegen programozási emberek képesek lesznek gyorsan és egyszerűen megoldani a maguk számára ezt a nehéz feladatot az első pillantásra.

Az ingatlan a görbe „hosszúság”, akkor láthatjuk a hossza a görbe anélkül, hogy bármilyen szoftvert trükköket. Nem értem, miért ilyen jelleggörbe, mint a hossza, nem veszik ki az ablakon a tulajdonságait a Korela. Úgy látszik, elment „újítások” a jövőben változatban. Tehát egy új funkció, hívjuk az ilyen MyLength:

Ezután a Length ingatlan görbe levezetéséhez információs ablak, melynek értéke a kiválasztott hosszúságú görbe:

Sub MyLength ()
Dim S alakjuk
Dim Ln As Double
S = ActiveShape „hozzárendelése változó S összes tulajdonságait a kijelölt görbe
Ln = S.Curve.Length „olvasni az érték a görbe hossza
MsgBox Ln levezetéséhez méretre egy tájékoztató üzenet
End Sub

A legegyszerűbb kiviteli alakja szerinti dugóba meghatározása kész görbe hossza. Most van itt az ideje, hogy ellenőrizze a kódot akcióban. Döntetlen bármilyen vektor elemet szükséges átalakítása a görbe ( „Átalakítás görbék” Ctrl + Q) az korelovskih primitíveket, például ellipszis, téglalap, sokszög. Ezután nyissa meg a bővítmény fa Eszközök / Makrók / MacroManager (Alt + Shift + F11), keresse meg a nevét a projekt, a jelenlegi modul melyik lesz az összes funkciót, amit létre, beleértve MyLength. Futás, hogy látjuk a numerikus értéke egyenlő a hossza a kiválasztott görbét.

De kiosztani minden egyes alkalommal egy görbe meglehetősen kényelmetlen és azt akarjuk, hogy a plugin kimenetek értéke az összes kiválasztott görbék. Ehhez használjon egy kört, amelyben azt rendezni minden kedves görbe, és egy változó összeg ezeket az értékeket. Előre is átalakítható csak abban az esetben minden kedves tárgyak a kanyarokban, és ne Megszünteti kiválasztva. A csoportosítása tetteink, és így a eltörlése a végén, miután megkapta a hossz az összes elemet, vissza minden történt az átalakítás, és bontsuk szét az eredeti állapotába. Kapunk készen áll a plug-in:

Public Sub MyLength ()

ActiveDocument.Unit = cdrMillimeter „Adja meg az alapértelmezett mértékegységet
ActiveDocument.BeginCommandGroup „megadása, hogy innen kezdődik egy csoportja programkód, amely lemondás egygombos»Mégsem«
ActiveSelectionRange.UngroupAll „Csoportbontás a kijelölt objektumokat, ha van ilyen,
ActiveSelectionRange.ConvertToCurves' konvertálása minden elemét, hiszen a kanyarokban Az ingatlan hossza csak a görbék

Dim S alakjuk
Dim Ln As Double

A Mindegyik S ActiveSelectionRange
Ln = Ln + S.Curve.Length
következő

ActiveDocument.EndCommandGroup „Adja ide zakazchivaetsya csoport tetteink
ActiveDocument.Undo „Mivel a teljes hossza a már tárolt érték a változó Ln megszüntetésével végrehajtott változtatásokat a görbék az eredeti állapot

MsgBox Ln "Mm". „Hossza görbék” „Output értéke a teljes hossza a kiválasztott elemeket.

Figyeljük meg, hogy szerezzen egy hiba idő kiszámításakor görbék olyan tárgyakat, amelyek nem alakítható vektorok, például bitmap képeket, árnyékok.