| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
12.03.2020, 13:49 | #1 | |
REMOVEALLPROXY для BricsCAD
Регистрация: 04.04.2019
Сообщений: 20
|
||
Просмотров: 6774
|
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
|
|||
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 176
|
Цитата:
Я в свое время подключал следующее: BrxMgd.dll TD_Mgd.dll TD_mgdBrep.dll |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,040
|
Да
строго не обязательно - там документация и "заглушки" библиотек (сборок). Библиотеки можно подключить из каталога самой программы, документация есть онлайн для акада. Для начинающих может и нужно, но опять же - строго не обязательно. Создать проект библиотеки в VS и подключить в ссылки проекта акадовские библиотеки прекрасно и руками можно) Только не забыть сразу после подключения снять с них опцию копировать локально в свойствах ссылки. |
|||
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 176
|
Цитата:
|
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
|
|||
|
||||
Регистрация: 04.04.2019
Сообщений: 20
|
Подскажите пожалуйста как в Visual Studio подключать библиотеки?
В справке написано: Create a class library using the class library wizard under your preferred .NET language. Скажите, что нужно сделать пошагово в Visual Studio!!! There are currently two DLLs that must be referenced (BrxMgd.dll and TD_Mgd.dll) plus one optional BREP API DLL (TD_MgdBrep.dll). These DLLs are located in your BricsCAD installation folder. Последний раз редактировалось ksumatokhin, 12.03.2020 в 18:03. |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
|
|||
|
||||
Регистрация: 04.04.2019
Сообщений: 20
|
Ребят, помогите разобраться, как перевести код работающий под АutoCAD, р работающий под BricsCAD!
В сообщении 6 на форуме есть 4 отдельных блока с кодом. Источник: https://adn-cis.org/forum/index.php?topic=1060.0 Вот как я у себя записал 1 блок: Код:
1. Не понимаю, почему он вынесен отдельно. Это какой-то отдельный модуль, или его можно тупо добавить к написанному раньше. 2. Код Код:
Код:
Вот, что у меня сейчас получилось: using System; using System.Text; using System.Diagnostics; using System.Collections.Generic; using System.Runtime.InteropServices; using System.IO; // ODA using Teigha.Runtime; using Teigha.DatabaseServices; using Teigha.Geometry; // Bricsys using Bricscad.ApplicationServices; using Bricscad.Runtime; using Bricscad.EditorInput; using Bricscad.Ribbon; using Bricscad.Geometrical3dConstraints; // com using BricscadDb; using BricscadApp; // alias using AcAp = Bricscad.ApplicationServices; using AcDb = Teigha.DatabaseServices; using AcEd = Bricscad.EditorInput; using AcGe = Teigha.Geometry; using System.Runtime.InteropServices; namespace ImplementLink { public static class Acad { #region Static Properties public static Bricscad.ApplicationServices.Document Document { get { return AcAp.Application.DocumentManager.MdiActiveDocument; } } public static AcDb.Database Database { get { return AcAp.Application.DocumentManager.MdiActiveDocument.Database; } } public static AcEd.Editor Editor { get { return AcAp.Application.DocumentManager.MdiActiveDocument.Editor; } } public static AcDb.TransactionManager TransactionManager { get { return AcAp.Application.DocumentManager.MdiActiveDocument.TransactionManager; } } #endregion #region Transactional Methods public static T Read<T>(this AcDb.ObjectId objectId, bool openErased = false, bool forceOpenOnLockedLayer = true) where T : AcDb.DBObject { return objectId.GetObject(AcDb.OpenMode.ForRead, openErased, forceOpenOnLockedLayer) as T; } public static T Write<T>(this AcDb.ObjectId objectId, bool openErased = false, bool forceOpenOnLockedLayer = true) where T : AcDb.DBObject { return objectId.GetObject(AcDb.OpenMode.ForWrite, openErased, forceOpenOnLockedLayer) as T; } #endregion } } /* #if CORE public const string ACAD = "accore.dll"; public const string ACDB = "acdb19.dll"; #else public const string ACAD = "acad.exe"; public const string ACDB = "acdb18.dll"; #endif #if WIN32 [DllImport(ACAD, CallingConvention = CallingConvention.Cdecl, EntryPoint = "?acedResetScaleList@@YAX_N0PAVAcDbDatabase@@@Z")] public static extern void acedResetScaleList(bool b1, bool b2, IntPtr db); #else [DllImport(ACAD, CallingConvention = CallingConvention.Cdecl, EntryPoint = "?acedResetScaleList@@YAX_N0PEAVAcDbDatabase@@@Z")] public static extern void acedResetScaleList(bool b1, bool b2, IntPtr db); #endif */ public const string ACAD = "bricscad.exe"; private static int PurgeDatabase(Database db) { int idCount = 0; using (AcAp.Application.DocumentManager.MdiActiveDocument.LockDocument()) using (var tr = HostApplicationServices.WorkingDatabase.TransactionManager.StartTransaction()) { ObjectIdCollection idsToPurge = new ObjectIdCollection(); RegAppTable rat = (RegAppTable)tr.GetObject(db.RegAppTableId, OpenMode.ForRead); foreach (ObjectId raId in rat) { if (raId.IsValid) { idsToPurge.Add(raId); } } db.Purge(idsToPurge); foreach (ObjectId id in idsToPurge) { DBObject obj = tr.GetObject(id, OpenMode.ForWrite); obj.Erase(); } idCount = idsToPurge.Count; tr.Commit(); } return idCount; } помогите разобраться, как адаптировать REMOVEALLPROXY под BricsCAD. Последний раз редактировалось ksumatokhin, 13.03.2020 в 10:32. |
|||
|
||||
Регистрация: 04.04.2019
Сообщений: 20
|
А 3 и 4 блок в сообщении #6 из https://adn-cis.org/forum/index.php?topic=1060.0 тоже C++?
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,040
|
с чего бы?
----- добавлено через ~5 мин. ----- в зависимости: определен ли CORE или нет - та или иная версия кода идет в выходную сборку. логично - это синтаксис языка: под что надо выделять память данных - должно быть спрятано внутри классов. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,040
|
а ничего, что речь идет о шестом посте « Ответ #6 : 05-11-2014, 14:45:08 » по ссылке
Цитата:
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему BricsCAD внедряет .shx в PDF а AutoCAD нет? | ksumatokhin | AutoCAD | 20 | 08.06.2019 19:43 |
В Bricscad не работает СПДС. | Bonapart15 | Другие CAD системы | 11 | 14.11.2018 15:10 |
Портирование .Net + lisp приложений для BricsCAD | Sleekka | LISP | 12 | 25.12.2012 11:41 |
Нужен совет по BricsCAD | VVITTALIK | Другие CAD системы | 9 | 21.01.2008 13:31 |
BricsCad Architecturals | Прочее. Программное обеспечение | 9 | 08.02.2006 11:59 |