Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > VB .Net под автокад

VB .Net под автокад

Ответ
Поиск в этой теме
Непрочитано 21.04.2011, 20:02 #1
VB .Net под автокад
desked
 
Регистрация: 13.07.2010
Сообщений: 20

Всем привет.

Начал писать на VB .net под автокад и возникло куча вопросов))

1. что можно почитать на эту тему?
2. как создать и установить слой?
3. как изменить тип линии?
4. и как получить координаты примитивов которые уже начерчены в автокаде?

заранее большое спасибо)
Просмотров: 4390
 
Непрочитано 21.04.2011, 20:15
#2
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Помоему он и называется .Net потому что в нём всё НЕТ....
Поставь VB6 и твори всё что угодно с автокадом, любые примеры и исходники для него найдёшь где угодно, главное в строке поиска забивай " vba autocad " копируй эти коды в vb без вопросов, и будет тебе счастье.
maratovich вне форума  
 
Непрочитано 21.04.2011, 20:26
#3
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от maratovich Посмотреть сообщение
Помоему он и называется .Net потому что в нём всё НЕТ....
Сие как раз тот случай, когда лучше жевать, чем это говорить.
Топикстартеру: тынц (а вообще гугл рулит).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 26.04.2011, 23:33
#4
desked


 
Регистрация: 13.07.2010
Сообщений: 20


спасибо за информацию, вот только как изменить тип линии, я так и не нашел((((

не подскажите?
desked вне форума  
 
Непрочитано 26.04.2011, 23:53
#5
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


ThisDrawing.ActiveLinetype = ThisDrawing.Linetypes.Item("CONTINUOUS")
maratovich вне форума  
 
Непрочитано 27.04.2011, 00:06
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


maratovich, ты не путаешь VBA и VB.NET?
desked, тебе надо менять Linetype для объекта или как?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 27.04.2011, 18:34
#7
desked


 
Регистрация: 13.07.2010
Сообщений: 20


для слоя надо толщину поменять и тип линии...
ну думаю для объекта так же меняется..
desked вне форума  
 
Непрочитано 27.04.2011, 23:20
#8
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


На VB сам переведи Для слоя:
Код:
[Выделить все]
using System;

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;

namespace dwgChangeLineTypeWeightToLayer
{
	public class cMain
	{
		[CommandMethod("cmd")]
		public static void cmdTest()
		{
			Database db = HostApplicationServices.WorkingDatabase;
			string LayerName = "0";
			using (Transaction tr = db.TransactionManager.StartTransaction())
			{
				LayerTable tblLayer = (LayerTable)tr.GetObject(db.LayerTableId, OpenMode.ForRead);
				LayerTableRecord objLayer = (LayerTableRecord)tr.GetObject(tblLayer[LayerName], OpenMode.ForWrite);
				objLayer.LineWeight = LineWeight.LineWeight000;
				tr.Commit();
			}
		}
	}
}
Вроде работает.
Для работы с типом линии придется дополнительно проверять его загруженность в текущий документ.
Для объектов:
Код:
[Выделить все]
[CommandMethod("cmdObject")]
		public static void cmdTestObject()
		{
			Document doc = AcAp.Application.DocumentManager.MdiActiveDocument;
			Database db = doc.Database;
			Editor ed = doc.Editor;
			using (Transaction tr = db.TransactionManager.StartTransaction())
			{
				PromptSelectionOptions selOptions = new PromptSelectionOptions();
				selOptions.SingleOnly = true;
				PromptSelectionResult selRes = ed.GetSelection(selOptions);
				if (selRes.Status == PromptStatus.OK)
				{
					SelectionSet selset = selRes.Value;
					foreach (SelectedObject selObj in selset)
					{
						Entity entObj = (Entity)tr.GetObject(selObj.ObjectId, OpenMode.ForWrite);
						entObj.LineWeight = LineWeight.LineWeight050;
					}
				}
				tr.Commit();
			}
		}
Блокированность слоя не проверяется и не обрабатывается.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 27.04.2011 в 23:52.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > VB .Net под автокад

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хочу начать изучать автокад, есть вопросы, помогите GALANT AutoCAD 126 16.06.2011 11:01
.Net событие double-click как поймать dvim .NET 7 04.04.2010 15:13
Из архикада в автокад Evgen09 ArchiCAD 4 02.10.2009 15:34
Как подгрузить vb к автокаду? vasyavip Программирование 9 19.01.2009 01:40
координаты вершин выбранной полилинии на VB? как получить ssv22 Программирование 5 17.07.2008 00:01