Leaderboard
Popular Content
Showing content with the highest reputation since 11/02/2023 in all areas
-
4 points
-
Здравствуйте! Это делается через таблицу блоков (BlockTable). Открываете лист для изменений, как запись таблицы блоков (BlockTableRecord) и добавляете туда объект, предварительно добавив его в базу данных чертежа. HostMgd.ApplicationServices.Document doc = HostMgd.ApplicationServices.Application.DocumentManager.CurrentDocument; // Получение ссылки на активный документ //HostMgd.ApplicationServices.Document doc = //HostMgd.ApplicationServices.Application.DocumentManager.MdiActiveDocument; // Получение ссылки на редактор докумена HostMgd.EditorInput.Editor ed = doc.Editor; // Получение ссылки на базу данных документа Teigha.DatabaseServices.Database db = doc.Database; // Начало транзакции с базой данных документа using (Teigha.DatabaseServices.Transaction trans = db.TransactionManager.StartTransaction()) { //Открываем словарь листов для поиска идентификатора листа Teigha.DatabaseServices.DBDictionary layoutsDict = trans.GetObject(db.LayoutDictionaryId, Teigha.DatabaseServices.OpenMode.ForRead) as Teigha.DatabaseServices.DBDictionary; Teigha.DatabaseServices.ObjectId layoutId = (Teigha.DatabaseServices.ObjectId)layoutsDict["A4"]; // Открываем таблицу блоков для изменения Teigha.DatabaseServices.BlockTable blockTable = trans.GetObject(db.BlockTableId, Teigha.DatabaseServices.OpenMode.ForRead) as Teigha.DatabaseServices.BlockTable; // Открываем лист для записи, чтобы добавить в него вставку блока Teigha.DatabaseServices.BlockTableRecord layoutBTR = trans.GetObject(layoutId, Teigha.DatabaseServices.OpenMode.ForWrite) as Teigha.DatabaseServices.BlockTableRecord; // Создаем объект Teigha.DatabaseServices.Line line = new Teigha.DatabaseServices.Line(); line.StartPoint = new Teigha.Geometry.Point3d(0, 0, 0); line.EndPoint = new Teigha.Geometry.Point3d(100, 100, 100); // Добавляем в базу данных и в лист trans.AddNewlyCreatedDBObject(line, true); layoutBTR.AppendEntity(line); // Перебираем все объекты листа foreach (var obj in layoutBTR) { Teigha.DatabaseServices.DBObject bObject = obj.GetObject(Teigha.DatabaseServices.OpenMode.ForRead); ed.WriteMessage($"Class {bObject.GetType()}, Handle {bObject.Handle}, ObjectId {bObject.ObjectId}"); } // Завершаем транзакцию trans.Commit(); }3 points
-
Кстати, а где нибудь есть информация что изменилось, что стало лучше!? Что стало хуже, нам потом озвучит doctorraz ... ))3 points
-
3 points
-
3 points
-
Это вряд ли... я проще сделал - поправил ncad.lsp: (load "\\\\dc1\\nano$\\LISP\\autoload.lsp") а уже там - где собственно и НК грузится: ;Переменные (setvar "FILEDIA" 1) (setvar "PICKFIRST" 1) ;предварительный выбор (setvar "UCSFOLLOW" 0) (setvar "TREEDEPTH" -3020) (setvar "hpname" "ANSI31") ; задает имя штриховки (setvar "hpscale" 2) ; задает масштабный коэффициент штриховки = 2 (setvar "MAXACTVP" 32) ;число видовых экранов макс=64 но жрать будет больше (setvar "IMAGEFRAME" 2) ;видимость контура подрезки - "нет" при печати (setvar "PDFFRAME" 2) ;видимость контура подрезки - "нет" при печати (setvar "FRAME" 2) ;видимость контура подрезки - "нет" при печати (setvar "FRAME" 2) ;видимость контура подрезки - "нет" при печати (setvar "FONTALT" "GOST2304A.ttf") ;установка шрифта по умолчанию (setvar "TEXTSIZE" 350) ;размер текста по умолчанию (setvar "PDFSHX" 0) ;отключение комментариев в PDF ;(setvar "ATTIPE" 1) ; ; Автозагрузка (load "a2t_NC.lsp") ;перевод сиротливых аттрибутов в текcт Команда: a2t Так мне проще показалось3 points
-
Больше не буду(( Общался, нет там людей, одни менеджеры,пометом пометяют(( ...... Правда больше не буду, но мне еще в этом как то работать приходится, еще и на работе на вопросы отвечать , в той версии так было, а в этой так не работает.. Я не проектант а костылестроитель, под нанограбли.. свою работу делать некогда В 100500 раз повторю тому менеджеру кто вот это все качество бескачественное сотворил: нет денег на выходной контроль, привлекайте тестеров- волонтеров, да типо выпуск затягивается, дык и привлекать надо не за две недели до релиза.. а сильно раньше в идеале постоянно.. выкатили бетку стабильную, сообщество в ней резвится и даже работает, и багрепорты пишет.. всем экономия Кстати новогодний "наноподарок 2023", с душком оказался, оттестили уже пользователи за свои деньги и следом заплатки , а можно было оттестить до.. Всеголишь об этом.. Фич много, качество низкое3 points
-
3 points
-
@kpblc палитры вроде умеет нк А в остальном да.. управлерие лентой, панелями и меню на уровне камень в одной руке палка в другой, но как это соединить понимания нет)))3 points
-
Про ВСЁ Про таблицы Про Маркер У меня в подписи, например Таблицы || Маркеры || MechWizard || Группы || Формы || Блоки || Tips&Tricks3 points
-
Ну а вы куда, вроде умные вещи пишете и параллельно про замену американской Windows финно-американской Linux. Не будьте Болидом приклеив шильдик "Сделано в россии" на китайский пластик с китайской электроникой. Пацифизм - единственный путь прогресса, нет их, нет нас, есть общечеловеческий прогресс. Очевидно как банный лист2 points
-
2 points
-
М-да, объем файла превышает все мыслимые пределы. 1. В файле следы ACAD'овских вертикалок 2. Файл стоит чистить и проверять: 47 зарегистрированных приложений и 21 ошибка (ошибки связаны с параметрикой) тоже не добавляют радости. 3. Неиспользуемые внешние ссылки тоже стоит снести Тексты - аннотативные. Проблема была решена установкой annoallvisible в 1, cannoscale - в 1:100 добавлено через 0 минут Изменение системных переменных производить в пространстве модели2 points
-
Для nanoCAD BIM ОПС подготовили шаблон спецификации, который можно использовать в качестве заготовки для своей пояснительной записки или общих указаний. Все желающие могут протестировать, скачав файлы по ссылке: https://corp.nanocad.ru/~dYL2W Скаченные файлы размещаем по пути: C:\ProgramData\Nanosoft\nanoCAD BIM ОПС x64 23.1\Report\Equip Видеоинструкция по работе с шаблоном: https://youtu.be/xuDNfJiGrsI?si=W8a6j9A3UknGTda9 Если данный документ понравился и вы считаете его актуальным, то обязательно ставим ♥ под данным сообщением. Пожелания и предложения можно описать ниже. Если в проекте применяются магнитоконтактные извещатели не для охранной сигнализации, то необходимо будет подправить текстовое описание после выгрузки.2 points
-
Вроде нормально прокладывается. На добавление в разрыв длины 1 метр добавляет 1.1 метра в трассу (возможно, какая-то настройка по доп. длине где-то установлена).2 points
-
2 points
-
Добрый день! По умолчанию: Имя пользователя: postgres Пароль: password Также дополнительно проверьте вкладку Доп. параметры: в качестве SQL-сервера должен быть выбран PostgreSQL, порт - 54322 points
-
2 points
-
2 points
-
Для Линий - OVERKILL, Но у Вас сплайны, так что я не знаю2 points
-
Момент не нужен. Падение напряжение можно посмотреть здесь Для вывода dU нужно задать соответсвующий параметр Генерация схем сделана в виде отчетов. Т.е. корректировка производится новой генерацией и заменой соответствующих блоков.2 points
-
В текущей версии порядок попадания атрибутов в свойства происходит слева-направо от нижней строки к верхней. Написала пожелание, чтобы сделали в алфавитном порядке #202602 points
-
Будет в следующей версии.2 points
-
Если работать через ActiveX, можно и попроще: (setq res (vla-explode leader)) (vla-erase leader) (setq res (vlax-safearray->list (vlax-variant-value res))) Вроде так, пишу насухую.2 points
-
2 points
-
2 points
-
2 points
-
VBA выбираешь таблицу проходишь в цикле по всем ее ячейкам и ставишь TextWrap : True VertFit : mcVertFitNone (если VBS то 0) возможно придется TextScale : True во вложении файлик импортируй его в VBA редактор экселя или ворда и погоняй пошагово тебе там остается организовать циклы по: таблицам столбцам ColCount и строкам RowCount ----------- когда отладишь импортируешь из редактора VBA, уберешь Attribute VB_Name = "table" Sub Main() и End Sub переименуешь расширение в VBS и можешь хоть с рабочего стола двойным кликом менять форматирование ячеек))) table.bas2 points
-
2 points
-
2 points
-
Ну, что бы два раза не вставать и оформить для общего пользования: "Вставка блока по известным координатам". Пример в аттаче Маркер с автонумерацией.dwg2 points
-
2 points
-
2 points
-
ИМХО mns уже достаточно давно не выбрасывается только из соображений совместимости в ACAD. Практической ценности в секции image лично я не вижу - все можно сделать значительно удобнее и проще. Правда, надо матчасть учить...2 points
-
Не, у меня килобайт в голове не хватит, чтобы это запомнить. :-) Написано сие это было ещё в 90-х годах прошлого века и успешно кочует из версии в версию АК. Если интересно, посмотри про адаптацию меню АК, секция ***image2 points
-
По ПКМ уже редактирование и настройка инструмента. А картинка в виде пиктограммы уже есть. Как по мне, то достаточно информативная. Каждый сам находит способ применения. Но тут уж хозяин-барин. Офф. А у вас есть такие же, но с перламутровыми пуговицами? Будем искать дальше2 points
-
Или по хендлу, преобразовывая его в целые числа: (defun hex2dec (s / f) ;;; By ElpanovEvgeniy 27.10.2011 ;;;(hex2dec "AAAAAAA") ;"178956970" (defun f (l s / a) (cond ((and s l) (f (cons (rem (setq a (+ (* (car l) 16) (car s))) 10) (f (cdr l) (list (/ a 10)))) (cdr s)) ) ((> (car s) 9) (f nil (cons (rem (car s) 10) (f nil (list (/ (car s) 10)))))) (l) ((if (not (equal s '(0))) s nil ) ;_ end of if ) ) ;_ end of cond ) ;_ end of defun (setq s (mapcar (function (lambda (a) (- a 48))) (vl-string->list (vl-string-translate "ABCDEF" ":;<=>?" (strcase s))) ) ;_ end of mapcar ) ;_ end of setq (apply (function strcat) (mapcar (function itoa) (reverse (f '(0) s)))) ) ;_ end of defun (vl-sort (_kpblc-conv-selset-to-ename (ssget)) (function (lambda (a b) (< (hex2dec (cdr (assoc 5 (entget a)))) (hex2dec (cdr (assoc 5 (entget b)))))) ) ;_ end of function ) ;_ end of vl-sort За результат не ручаюсь.2 points
-
По-быстрому надергал из репа, вроде ничего не упустил. Особо не проверял props.LSP2 points
-
(defun c:test (/) (setpropertyvalue (car (entsel)) "ColumnType" 0) ; 0 = None ; 1 = Static ; 2 = Dynamic ) Задачку внутреннюю завела 8 мес. назад <dumpallproperties, getpropertyvalue , setpropertyvalue, ispropertyreadonly> Реализовать функции2 points
-
2 points
-
Да действительно, я просто запамятовал что немного перекрутил БД и УГО. Вот для Системы ОПС Выбор УГО происходит в директории Общие устройства->распределительные коробки(звезда) Для вертикальных проходок, требуется создать копию графики и перевернуть её. Кабельные проходки.sdf MY_prohodki_ugo_base.dwg2 points
-
Александр, к сожалению, это типовой ответ разработчиков. Например, в Модел Студио все преднастроенные форматы А4 развернуты горизонтально, а дополнительная надпись расположена вдоль короткой стороны, что абсолютно противоречит требованиям ГОСТа. На мои замечания пишут в том же духе, что и Вы: можно же настроить... Почему 100% должны править чей-то продукт вместо того, чтобы его поправил разработчик? Уважаемые разработчики, я не хочу покупать автомобиль и тут же загонять его на антикор, покраску и пр. и пр. Я хочу сразу иметь документы, настроенные ПО РОССИЙСКИМ стандартам, как об этом говорится на всех семинарах. В обсуждаемом документе должны быть исправлены хотя бы базовые ошибки из того перечня, который я привёл выше. Иначе он повторит судьбу ведомостей, которые абсолютно бесполезны в текущем виде, более того, провоцируют замечания пользователей в духе "зачем же включать в перечень то, что не работает?". Демонстрации возможностей ПО должны выполняться на грамотных реализациях. Перечень замечаний выше: там неправильно ВСЁ! Вполне вероятно, что этот документ будет включен в версию 24.0. Я не понимаю, что мешает хотя бы перепозиционировать его и назвать заготовкой пояснительной записки, а не общими указаниями, убрать наименование документа в начале текста и по возможности устранить другие замечания?2 points
-
Да действительно, ни какой надобности нет. Наработка опыта. В моем случае нужно просто создать размерный стиль без фона, и использовать его для расстановки размеров в модели.1 point
-
Это все известно. Такой эффект рамочки получается из-за визуального стиля. В данном случае у меня был выбран "Концептуальный" и в нем по умолчанию кромки силуэта "3",.Если его уменьшить до "1" получается очень не плохо: А если параметры ребер поменять в "Режим" с "Нет" на "изолинии", затем в "Цвет" с "Белый" на "По объекту", а потом в "Режим" вернуть на "Нет", то кромки исчезнут и вокруг размера с фоном под текстом не будет рамки:1 point
-
Ошибка: Если потребитель соединить с РУ через ящик, то при прокладке кабеля программа пишет, что "кабель успешно проложен" Хотя он "успешно проложен" только от ящика до потребителя. (версия Электро 23)1 point
-
дык нанокад запускается с новым/чистым файлом "Без имени0" - от него не падает? а если создать еще один по Ctrl+N (NEW,НОВЫЙ - Создать) что будет?1 point
-
Заметил тут, что по CTRL+двойной клик можно зайти в выноску находящуюся во внешней ссылке. Оно ни к чему не приводит, изменения не сохраняются, но забавно. Зато невозможно по CTRL+двойной клик залезть в атрибут выделенного блока или крайне трудно в атрибут находящийся над штриховкой.1 point
-
Сорри, не понял сути вопроса. Вот секция реального файла частичной адаптации "меню.mns", формирующая этот экран графического меню и команды обработки его пунктов. ***image **eldet_01 [Выберите элемент схемы по ГОСТ2.730-73] [eldet(ds_vvd1,Диод - вариант 1)](setq ##sdvg '(0 10 T) ##nmbl "d:/fondw/eldet/@s_vvd1" ##ugbl 0 ##rs_x 5 ##rs_y 18 ##relk (list '(0 10)'(0 -10)))(princ) #PRCTB [eldet(ds_gvd2,Диод - вариант 2)](setq ##sdvg '(10 0 T) ##nmbl "d:/fondw/eldet/@s_gvd2" ##ugbl 0 ##rs_x 18 ##rs_y 5 ##relk (list '(10 0)'(-10 0)))(princ) #PRCTB [eldet(ds_vvd3,Диод - вариант 3)](setq ##sdvg '(0 10 T) ##nmbl "d:/fondw/eldet/@s_vvd3" ##ugbl 0 ##rs_x 5 ##rs_y 18 ##relk (list '(0 10)'(0 -10)))(princ) #PRCTB [eldet(ds_gvd4,Диод - вариант 4)](setq ##sdvg '(10 0 T) ##nmbl "d:/fondw/eldet/@s_gvd4" ##ugbl 0 ##rs_x 18 ##rs_y 5 ##relk (list '(10 0)'(-10 0)))(princ) #PRCTB [eldet(ds_0vd5,Диод - вариант 5)](setq ##sdvg '(0 5 nil) ##nmbl "d:/fondw/eldet/@s_0vd5" ##ugbl 0 ##rs_x 5 ##rs_y 10)(princ) #PRCTB [eldet(ds_0vd6,Диод - вариант 6)](setq ##sdvg '(5 0 nil) ##nmbl "d:/fondw/eldet/@s_0vd6" ##ugbl 0 ##rs_x 10 ##rs_y 5)(princ) #PRCTB [eldet(ds_0vd7,Диод - вариант 7)](setq ##sdvg '(0 5 nil) ##nmbl "d:/fondw/eldet/@s_0vd7" ##ugbl 0 ##rs_x 5 ##rs_y 10)(princ) #PRCTB [eldet(ds_0vd8,Диод - вариант 8)](setq ##sdvg '(5 0 nil) ##nmbl "d:/fondw/eldet/@s_0vd8" ##ugbl 0 ##rs_x 10 ##rs_y 5)(princ) #PRCTB [eldet(ds_vvds1,Стабилитрон - вар. 1)](setq ##sdvg '(0 10 T) ##nmbl "d:/fondw/eldet/@s_vvds1" ##ugbl 0 ##rs_x 5 ##rs_y 18 ##relk (list '(0 10)'(0 -10)))(princ) #PRCTB [eldet(ds_gvds2,Стабилитрон - вар. 2)](setq ##sdvg '(10 0 T) ##nmbl "d:/fondw/eldet/@s_gvds2" ##ugbl 0 ##rs_x 18 ##rs_y 5 ##relk (list '(10 0)'(-10 0)))(princ) #PRCTB [eldet(ds_vvds3,Стабилитрон - вар. 3)](setq ##sdvg '(0 10 T) ##nmbl "d:/fondw/eldet/@s_vvds3" ##ugbl 0 ##rs_x 5 ##rs_y 18 ##relk (list '(0 10)'(0 -10)))(princ) #PRCTB [eldet(ds_gvds4,Стабилитрон - вар. 4)](setq ##sdvg '(10 0 T) ##nmbl "d:/fondw/eldet/@s_gvds4" ##ugbl 0 ##rs_x 18 ##rs_y 5 ##relk (list '(10 0)'(-10 0)))(princ) #PRCTB [eldet(ds_0vds1,Стабилитрон - вар. 5)](setq ##sdvg '(0 5 nil) ##nmbl "d:/fondw/eldet/@s_0vds1" ##ugbl 0 ##rs_x 5 ##rs_y 10)(princ) #PRCTB [eldet(ds_0vds2,Стабилитрон - вар. 6)](setq ##sdvg '(5 0 nil) ##nmbl "d:/fondw/eldet/@s_0vds2" ##ugbl 0 ##rs_x 10 ##rs_y 5)(princ) #PRCTB [eldet(ds_0vds3,Стабилитрон - вар. 7)](setq ##sdvg '(0 5 nil) ##nmbl "d:/fondw/eldet/@s_0vds3" ##ugbl 0 ##rs_x 5 ##rs_y 10)(princ) #PRCTB [eldet(ds_0vds4,Стабилитрон - вар. 8)](setq ##sdvg '(5 0 nil) ##nmbl "d:/fondw/eldet/@s_0vds4" ##ugbl 0 ##rs_x 10 ##rs_y 5)(princ) #PRCTB [eldet(to_back,====== Назад ======)]$i=eldet00 $i=* (пишу с телефона, как будет выглядеть, не знаю) Ага, криво выглядит. Все [eldet(... должны быть с новой строки.1 point
-
1 point
-
это зря, тут вроде всё и так ясно, должно быть соответствие серии, и в коробах и в лотках1 point