Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

макрос для Corel Draw12 импорт координат из .txt файла

32K
20 сентября 2007 года
Rail
1 / / 20.09.2007
У меня в процессе появилось множество вопросов. вот примерный алгоритм импорта.
Макрос импорта координат в Corel Draw 12, с использованием Visual Basic
Окно макроса:
вот здесь
[color="#FF0000"]как сделать данное окно?[/color]
Формат записи в импортируемом .txt файле
(«А» «В» «С» «D»)

b1,6505005.366,368624.283,41.945,
…………………………………………
188,6504998.075,367955.600,46.650,

«А» - номер точки
«В» - координата У
«С» - координата Х
«D» - высотная отметка точки

1 создается объект окружность с диаметром =
(100* «диаметр указанный в макросе» * «масштаб указанный в макросе»)/1 000 000 000
(после п. 6 диаметр окружности получится указанным в макросе)

*так создается окружность произвольного диаметра с последующим присвоением ей необходимого диаметра.
Dim s1 As Shape
Set s1 = ActiveLayer.CreateEllipse2(3.238886, 8.588012, 1.008256, -1.019587, 90#, 90#, False)
s1.Fill.ApplyNoFill
s1.Outline.SetProperties 0.003, OutlineStyles(0), CreateCMYKColor(0, 0, 0, 100), ArrowHeads(0), ArrowHeads(0), False, False, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100
ActiveDocument.ReferencePoint = cdrCenter
s1.SetSize 1.968504, 1.968504
[color="#FF0000"]Как сделать создание окружности с уже заданным диаметром?
Как задать необходимый диаметр посредством вычисления формулы[/color]?

2 импортируем координату «С» и помножаем на 0.0001
3 импортируем координаты «В» и помножаем на 0.0001
([color="#FF0000"]п.п.2,3, для того чтобы 7-значная координата влезла в размерность сетки в Corel в мм)
(в .txt файле десятые доли числа разделены «.», а числа разделены между собой «,»)
эхм…эти пункты может просто попутные. Просто я не знаю как без этого обойтись[/color].


4 присваиваем окружности координаты Х = «С», У = «В»
(импортированные точки в Corel получились в масштабе 1:1 00 000 00)
s1.SetPosition 3.937008, 3.937008
нужно разобраться что из них Х что У.
[color="#FF0000"]как сделать чтобы вписывалось в координаты импортированное число умноженное на 0.0001 [/color]?
4.а импортирование всех данных из .txt файла
[color="#FF0000"]эхм…не знаю как задать повторение данной операции для каждой точки, до последней точки. Количество точек каждый раз различное[/color]

5 над каждой окружностью подписать соответствующее значение «А», а под «D»
(или же если можно сделать таковую возможность выбора в окне макроса что будет под, а что над)
(подвязать к этому пункту вариант выбора размера и шрифта)
(отступ вверх и вниз от середины окружности до середины надписи (мм) =
(«диаметр окружности»/2)+0.4+((«размер шрифта»*0.2)/2)

[color="#FF0000"]Вообще не представляю как это может происходить?. Есть макрос где есть нечто похожее но он с паролем, его мне не посмотреть в редакторе макроса. Могу скинуть если нужен[/color].
6 выделение всех импортируемых точек
dup1.AddToSelection
Dim s2 As Shape
Set s2 = ActiveSelection.Group
[color="#FF0000"]Так я получил запись макроса в кореле. Но мне не понятно какая область выделяется? Размерность? Необходимо чтобы выделялись все импортируемые точки[/color]
7 масштабируем до выбранного масштаба в макросе (пример 1:2000)
формула: «значение» = (1 00 000 00 * 100)/2000
данное «значение» необходимо вписать в «коэффициент масштаба» в Corel и по Х и по У
*данная формула – я изменил с 100%100% на 50%50%
s2.SetSize 1.023622, 1.023622
[color="#FF0000"]какое было искомое значение[/color]?
8 данную группу переносим в 0,0
s2.SetPosition 0#,0#
[color="#FF0000"]знаки #,# что они значат?[/color]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог