Работа со скриптами

Работа со скриптами

Одной из новых возможностей, появившихся в системе Delta Design, начиная с версии 2.5 является наличие комплекта программиста (SDK), который позволяет получить программный доступ практически ко всем функциям системы. Таким образом, в распоряжении у пользователь находится мощный инструмент, который позволяет автоматизировать операции внутри системы или осуществить интеграцию Delta Design со сторонними продуктами. Подробнее о возможностях комплекта SDK можно узнать из доклада руководителя разработки Сергея Пилкина.

Комплект программиста (SDK) реализован с применением современных подходов к написанию программного кода, что позволяет легко приступить к написанию своих собственных скриптов.

Работа функционала демонстрируется на примере скрипта, создающего контур печатной платы сложной формы. Листинг скрипта доступен под видео.



Листинг скрипта: 
using System
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

using System.Drawing;
using Prosoft.ECAD.CommonTypes;

namespace Prosoft.ECAD.Script
{
	[ScriptClass]
	public class Script : ScriptBase
	{
		public async Task Main()
		{
			// Открываем редактор платы нашего проекта
			
			// !! Имя проекта необходимо задать самостоятельно, вместо %project_name%  укажите имя ВАШЕГО ПРОЕКТА!!
			
			var pcb = await OpenPcb("%project_name%");
			
			//Определяем стили для наших фигур
			var defaultstyle = "DefaultFigure";
			var BoardOutlineStyle = "BoardOutlineFigure";
			
			// Определяем слой на которм будем рисовать
			
			var layer= "BOARD_OUTLINE";
			
			//рисуем плюс-фигуру
			var plusRect= await pcb.PlaceRectangle(
				location:new PointF(-32f, -20f),
				width:64,
				height:40,
				style:defaultstyle,
				layer:layer);
				
			//рисуем минус-фигуры
			//Прямоугольник
			var minusRect = await pcb.PlaceRectangle(new PointF(-32f, -17f), 1.86, 17.07, 0, BoardOutlineStyle, layer);
			//Окружность
			var minusCircle = await pcb.PlaceCircle(new PointF(-26.854f, 14.791f), 2.73, BoardOutlineStyle, layer);
			//Заполняем массив минус-фигур
			var minusFigures = new[] { minusCircle, minusRect };
			//Производим объединение фигур
			await pcb.PlaceComplexFigure(new[] { plusRect}, minusFigures, defaultstyle, layer);				
		}
	}
}

Если у вас остались вопросы, задавайте их - мы будем рады на них ответить.

Обо всем понемногу,  ЗОВ.

Загрузка комментариев...

Другие записи

Будьте в курсе новостей и спецпредложений

Авторизация
Чтобы продолжить покупку, пожалуйста, авторизируйтесь на сайте.
Забыли пароль?