Как стать автором
Обновить
13
0
Андрей Бушман @Hwd

Программист C#, JavaScript, Typescript

Отправить сообщение
А скрам здесь причём? «Профакапить» можно точно так же и без него.
T9, будь он неладен :) Должно было быть так:
> Ведь выпускать в PROD дырявое ведро по маркетинговому плану нужно каждую весну.

Хотя… Если удаляются прокся и самой доски, то скорее это очередная безалаберность. Ведь выпускать в прод дырявое ведро ао маркетинговому плану каждую весну.

Я вполне допускаю мысль, что этот "баг" мог быть запущен доской сознательно. Честной конкуренции зачастую не существует.

С одной стороны — меня радует, что в нашей стране ещё существует надежда на то, что в продаже могут появиться российские процессоры. С другой стороны — что толку читать о том, чего не можешь попробовать. Это огорчает и сводит к нулю весь позитив.

Это смотря что за схема. У нас схемы печатались на листы формата A0xN. Схемы предназначались для печати на плоттере и затем вешались на стену. Это были описания бизнес-процессов, а так же технологических процессов проектирования. Очень крупная строительная компания. Всё было очень даже читабельно.
Я ведь выше ссылку дал, в которой Microsoft демонстрирует наглядные графики, не привязанные к конкретному движку. Draw2D конечно же вносит свою лепту, причём не самую лучшую, но проблема не только в нём. SVG.JS существенно быстрее, но и он не устроил. Используемый вами JointJS я не проверял, но подозреваю, что и он не окажется «серебрянной пулей».

В статье пишут «Performance is better with smaller number of objects (<10k), a larger surface, or both».

Да, но по факту скорость перестала нас устраивать на количестве даже меньшим чем 1k.

Вы тестировали редактор на большом объёме данных (например, 3-5 тыс. примитивов)? Если да, то каково было количество примитивов и какова скорость отображения?
Настроенная JointJS очень хорошо выполняет свою работу: быстрый движок SVG

К сожалению, SVG достаточно быстро ложится на лопатки при увеличении объёма информации, подлежащей отображению. Например, Draw2D неприемлемо тупит уже на 300 примитивах, а SVG.js — на 800. Под словом «неприемлемо» подразумевается 10 сек и более (на конкретных, далеко не самых дохлых компьютерах). В нашей компании требовалось отображать сразу по несколько тысяч примитивов, в виду чего пришлось отказаться от SVG в пользу растровой графики.

Проблема SVG в том, что скорость обработки данных при увеличении их объёма изменяется далеко не линейно: тынц.
Теперь ODA предоставляет так же и API для работы с документами Revit:
Teigha BIM
Teigha BIM reads and renders .rvt, .rfa, and .rte files of format versions 2011+. Initial implementation of
writing files is supported for the 2017 file version.
Teigha BIM version 4.2.1 Beta is the first release of Teigha BIM.

Насколько я помню, официальный релиз обещают к 1 января 2017.
Да, я помню его… Всё же жаль, что CppCat канул в небытие… Я — самоучка и не являюсь профессиональным программистом (к сожалению). помню время, когда впервые случайно увидел информацию о CppCat на хабре (куда, собственно, очень редко заглядываю) и добавил его себе в закладки, с мыслью о том, что как только появится свободное время, то нужно будет его попробовать. Но свободное время поначалу не появлялось, а потом как-то вовсе и забыл о CppCat. Позднее, переходя с NUnit на Typemock Isolator вспомнил о CppCat, полез за ним, но тот был уже пару месяцев как мёртв. Пришлось покупать ReSharper (чего изначально не хотелось).
PVS-Studio — инструмент полезный но, к сожалению, очень дорогой, доступный далеко не каждой организации. Разработчики этого продукта, скорее всего, ориентируются лишь на достаточно большие компании, специализирующиеся на разработке софта.

В этот круг не попадает огромное количество компаний, специализирующаяся не на разработке софта, а, к примеру, на проектировании (зданий, мостов, и т.п. и т.д.). В таких организациях порой присутствуют пара-тройка программистов, которые пишут код под внутренние нужны компании. Например, наша компания проектирует не безызвестный мост через Керченский пролив (т.е. далеко не самая последняя среди проектных), но даже для нас стоимость этого продукта слишком высока — мне 100% не подпишут счёт на 250 т.р. за годовое использование…

Для прикладных программистов компании покупать приходится не только PVS-Studio, но и очередную подписку MSDN, а так же иные, порой специфичные продукты: Help and Manual, Snagit, Camtasia Studio, Teigha, Resharper, .Net Reflector и т.д. и т.п. Получается очень круглая сумма… Но все они нервно курят по сравнению с ценой на PVS-Studio. Так же приходится учитывать, что теперь и у компании Autodesk аппетиты недетские ( http://www.softprof-it.ru/katalog/autodesk/autodesk-arenda ) — каждый год хотят более чем по 100 тыс. руб с каждой машины за использования обычного, голого AutoCAD (не говоря уж о чём-то более серьёзном), то вообще ситуация становится печальной. Продукты этой компании являются основными инструментами проектировщиков…

А ведь ещё приходится платить и за софт, выполняющий расчёты различных конструкций (стоит миллионы за год использования). В виду этого покупка софта для прикладных программистов в компаниях подобной нашей не является приоритетной и выполняется по остаточному принципу. Если бы годовое использование PVS-Studio стоило хотя бы $1000, то существовала бы достаточно неплохая вероятность того, что её покупку руководство мне бы разрешило, но сумму в 250 тыс. руб за год использования — меня просто не поймут.

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

PVS-Studio продукт хороший и мне бы очень хотелось пользоваться им, но в виду своей цены, он для меня находится вне зоны доступа. Что-то мне подсказывает, что не только для меня…

А почему не хотите проверять при помощи sizeof(TEXT('a'))? Например:

#include <Windows.h>
#include <iostream>

#if UNICODE
#define TCOUT wcout
#else
#define TCOUT cout
#endif

using namespace std;
int main() {
	PCTSTR str = sizeof(TEXT('a')) > 1 ? TEXT("Unicode") : TEXT("ANSI");
	TCOUT << str << endl;
	return 0;
}
Windows 10 x64, MS VisualStudio 2015. Скачал триальный вариант PVS-Studio. Запукаю PVS-Studio_setup.exe, но ничего не происходит.
Git Bash.
Пробовал всё, что описано в статье. Однако результат нулевой. Смотрю содержимое текстовых файлов:
cat ansi.txt
cat utf-8.txt

Корректно отображается кириллица в содержимом только того файла, кодировка которого совпадает с кодировкой окна Options:

image

По мотивам проблемы создал две темы на stackoverflow: первая, вторая.
Во-первых, нередко имена параметров говорят об их назначении. Во-вторых, если это имя тебе ни о чём не говорит, то никто не запрещает посмотреть код метода при помощи либо бесплатного ILSpy, либо платного .NET Reflector.
Кстати, официальная документация далеко не идеальна (к сожалению). В виду этого очень полезно просматривать реальный состав библиотек AutoCAD .NET API через Object Browser. Можно найти много интересного и полезного из того, что в документации отсутствует, в то время как по факту тот или иной функционал в API присутствует уже не один год (не раз сталкивался с этим).
Документацию я посмотрел

Это не документация. Документация — это содержимое подкаталога docs распакованного архива с ObjectARX SDK, а так же на официальном сайте в разделе Documentation.
Не подскажете, будет слой потом блокироваться обратно?

Что мешает проверить самому? ;)
Важно! Если объект находится на заблокированном слое — доступ к нему на запись получить не удастся, и мы сможем полюбоваться на такое сообщение:

Используйте конструкцию try...catch!

// Обрати внимание на последний параметр
DBObject obj = tr.GetObject(id, OpenMode.ForWrite, false, true);

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer
Lead
От 350 000 ₽
C#
ASP.Net
.NET Core
Docker
Linux
SQL
Git