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

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Приложения для создания выносок

Приложения для создания выносок

Ответ
Поиск в этой теме
Непрочитано 03.05.2006, 10:21 #1
Приложения для создания выносок
Dies77_66
 
Регистрация: 02.05.2006
Сообщений: 10

Вопрос банальный где ето скачать можно!!!
надо чтоб создавались вот такие выноски и их модификации
[ATTACH]1146637262.dwg[/ATTACH]
Просмотров: 7799
 
Непрочитано 03.05.2006, 10:25
#2
Кулик Алексей aka kpblc
Moderator

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


ИМХО: проще (если надо именно такое) написать самостоятельно
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.05.2006, 10:38
#3
Dies77_66


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


ИМХО: проще (если надо именно такое) написать самостоятельно

Ну если бы моглось и зналось то написалось А так вот никак! [sm907]
Dies77_66 вне форума  
 
Непрочитано 03.05.2006, 11:25
#4
Кулик Алексей aka kpblc
Moderator

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


Ну можно вообще свой блок создать (с атрибутами) и его испльзовать в качестве аннотации. Один из самых дешевых по трудозатратам вариант будет, ЯТД,
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.05.2006, 16:25
#5
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Ежели без претензий на рамку в последней строке - тады вот это
А ежели с претензиями, тады не годится... Не предусмотрено
vk вне форума  
 
Непрочитано 04.05.2006, 19:31
#6
AY

webcad.pro
 
Регистрация: 06.01.2005
Московская обл.
Сообщений: 501


Цитата:
Ну можно вообще свой блок создать (с атрибутами) и его испльзовать в качестве аннотации. Один из самых дешевых по трудозатратам вариант будет, ЯТД,
Это точно я тоже некоторое время назад к этому пришел. Кстати, крыс, помнится, ты пытался сделать редактирование такого блока по двойному клику. Получилось?
AY вне форума  
 
Непрочитано 05.05.2006, 08:20
#7
Кулик Алексей aka kpblc
Moderator

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


Не-а. Если там использовать атрибуты (что напрашивается), то в любом варианте для ком.реактора вываливается стандартное окно редактирования атрибутов. Вариантов несколько ИМХО:
- сделать дин.блок с [фиксированной] шириной полки и некоторым количеством атрибутов, дальше играться режимом видимости.
- делать временный блок, в него засовывать тексты и отрезки, применять этот блок как аннотацию к выноске, потом можно блок разбивать и уничтожать (можно и оставить, на всякий случай)
- использовать ObjectARX и пытаться написать собственный примитив.
Первые два варианта я прошел, третий - я пас.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.05.2006, 14:59
#8
ki

Constructor
 
Регистрация: 28.09.2005
SPb
Сообщений: 689
<phrase 1= Отправить сообщение для ki с помощью Skype™


Попробовал написать програмку. Вот смотрите, подходит? Сильно не бейте - это мой дебют. Прогу делал по образцу, да простят меня авторы образца (если узнают в моей проге остатки своего творения ). Но надо же было от чего-то отталкиваться чайнику.
[ATTACH]1146826767.rar[/ATTACH]

Если нужны модификации, то напишите какие именно.
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++
ki вне форума  
 
Непрочитано 05.05.2006, 15:26
#9
Кулик Алексей aka kpblc
Moderator

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


Чуть-чуть покритиковать можно?
На случай, если "да".
Строка:
Код:
[Выделить все]
  (setq	olderr	*error*			; Initialize variables
	*error*	prerr
	) ;_ end of setq
Имеет достаточно мало смысла - функция prerr не определена. Кроме того, prerr является глобальной переменной. То есть вообще можем получить бог знает что (в prerr может храниться значение, может - функция)...
olderr не закинута в локальные переменные.
Перед командами (которые через (command) идут) не стоят "_", т.е. код в локализованных версиях работать не будет.
Текстовый стиль должен быть предопределен, не отслеживается вариант другой настройки высоты стиля...
Я надеюсь, что не отбил у тебя охоту программировать?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.05.2006, 17:35
#10
ki

Constructor
 
Регистрация: 28.09.2005
SPb
Сообщений: 689
<phrase 1= Отправить сообщение для ki с помощью Skype™


Эти переменные я не трогал. Я взял рабочий лисп и на его основе стал строить свой, т.к. я пока в лиспе не силен. Про локалку не подумал - минус мне . Я уже когда написал эту програмульку (все наконец заработало так как надо), подумал о том, что надо бы сделать возможность менять свойства текста (хотя бы высоту, для этого введена переменная h и ее определение закрыто в каментах) и размеры линий. Но это будет чуть позже. А вообще, любая критика только приветствуется, т.к. это мне поможет.
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++
ki вне форума  
 
Непрочитано 05.05.2006, 17:48
#11
Кулик Алексей aka kpblc
Moderator

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


Проверять "нулевость" высоты текстового стиля можно так:
Код:
[Выделить все]
(if (equal 0
	   (cdr (assoc 40 (entget (tblobjname "style" (getvar "textstyle")))))
	   0.1
	   ) ;_ end of equal
  (progn
   ;; для нулевой высоты
   )
  (progn
   ;; для ненулевой высоты
   )
  ) ;_ end of if
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.05.2006, 08:43
#12
DANZZ

Проектировщик
 
Регистрация: 05.05.2006
Омск
Сообщений: 91


KI, у меня не пошла программка, выдает кучу неизвестных команд, после "введите текст первой строки"!!!!
DANZZ вне форума  
 
Непрочитано 08.05.2006, 10:35 Привет
#13
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Откройте файл с лиспом текстовым редактором
добавьте перед командами TEХT и LINE
TEXT => _TEXT
То же надо выполнить с командами следующими после TEXT.
то есть f=>_f
Я посмотрел эту программу её еще надо подредактировать.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 08.05.2006, 11:42
#14
DANZZ

Проектировщик
 
Регистрация: 05.05.2006
Омск
Сообщений: 91


А если надо 3 строки или всего одну, и может быть 10 кабельных марок, это тоже очень важно!!!
Было бы здорово если бы ето все можно было выбирать диалоговом окне!!!
DANZZ вне форума  
 
Непрочитано 11.05.2006, 14:22
#15
ki

Constructor
 
Регистрация: 28.09.2005
SPb
Сообщений: 689
<phrase 1= Отправить сообщение для ki с помощью Skype™


Привет.
Уф, добрался я до ящика (и до работы ). Извини, что раньше не отвечал. Пока доработал прогу до след. состояния: работает и в локалке, высота текста изменяется, текст не вписывается жестко, отступы зависят от размера.
Попробую сделать изменения по вашему желанию.
Напишите поподробнее, что вы хотите.
Пока.
[ATTACH]1147349841.rar[/ATTACH]

Если кто-то скачивал архив, то я его заменил. Исправил отключение привязок, не работало в русском АКАДе 2006.
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++
ki вне форума  
 
Непрочитано 11.05.2006, 18:06
#16
ki

Constructor
 
Регистрация: 28.09.2005
SPb
Сообщений: 689
<phrase 1= Отправить сообщение для ki с помощью Skype™


Привет еще раз. Доработал прогу. Теперь можно задать число строк и число марок.
[ATTACH]1147356410.rar[/ATTACH]

Отказаться от ввода марок можно вводом нуля или отрицательного значения.
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++
ki вне форума  
 
Непрочитано 12.05.2006, 10:08
#17
pyatifan


 
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
<phrase 1=


У меня фатальная ошибка...
Я пользуюсь одной штукенцией, мож кому и понравится...
http://dwg.ru/forum/viewtopic.php?p=...ghlight=#75518
pyatifan вне форума  
 
Непрочитано 12.05.2006, 10:24
#18
ki

Constructor
 
Регистрация: 28.09.2005
SPb
Сообщений: 689
<phrase 1= Отправить сообщение для ki с помощью Skype™


Цитата:
Сообщение от pyatifan
У меня фатальная ошибка...
Привет. Я проверял в 2002 англ.+рус и 2006 локалка и все работало. Кто разбирается посмотрите, плиз, где я напортачил.
Ниже дан архив с исправленным лиспом - убрал неопределенную функ., может в этом было дело.
[ATTACH]1147415057.rar[/ATTACH]
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++
ki вне форума  
 
Непрочитано 15.05.2006, 08:18
#19
DANZZ

Проектировщик
 
Регистрация: 05.05.2006
Омск
Сообщений: 91


Цитата:
Сообщение от ki
Попробую сделать изменения по вашему желанию.
Напишите поподробнее, что вы хотите.
При рисовании выноски в зеркальном отображении, т.е с право на лево, текст равняется по левому краю и надо переопределять выравнивание и вручную равнять!!!

размер рамок 5х10, и рамки если можно прямоугольником, чтоб удобнее было редактировать!!!

Заранее спасибо!!!
DANZZ вне форума  
 
Непрочитано 15.05.2006, 09:14
#20
DANZZ

Проектировщик
 
Регистрация: 05.05.2006
Омск
Сообщений: 91


Можно еще добавить
(setq KG (getreal "\nУкажите текущий коэффициент зжатия текста: "))

(if (<= KG 0)
(setq KG 0.75)
) ;_______> end if

и подставить в (setq tsize (* KG (strlen ch1) h))

тогда полки более менее равняются по тексту!!!
DANZZ вне форума  
 
Непрочитано 15.05.2006, 09:54
#21
ki

Constructor
 
Регистрация: 28.09.2005
SPb
Сообщений: 689
<phrase 1= Отправить сообщение для ki с помощью Skype™


Доброго времени суток. Насчет рамок, если делать ее фиксир. размера, то нет смысла делать текст изменяемым. Прямоугольниками рисовать попробую. С выравниванием поиграюсь, посмотрю как лучше. Отступы у меня от линии снизу и от левого края одинаковые (каэф. расчитан), если сделать сжатие текста, то это не решит проблему того, что некоторые строки подчеркиваются больше (от ширины букв зависит, например I и M имеют разную ширину). Я еще не знаю как точно вычислить настоящую ширину любой строки.
Програмульку буду доводить до ума, сделаю ее с оконной менюшкой и ... в общем будем работать.
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++
ki вне форума  
 
Непрочитано 15.05.2006, 10:04
#22
Кулик Алексей aka kpblc
Moderator

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


Для получения размера текста попробуй (textbox)
Для рамок фиксированного размера можно попробовать сделать однострочный текст, изменив ему выравнивание на fit. Потом посмотреть его коэффициент сжатия, и, если он > 1 (т.е. текст "растянут"), установить в 1. У меня похожим образом идет вставка фамилий в штамп
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.05.2006, 11:36
#23
DANZZ

Проектировщик
 
Регистрация: 05.05.2006
Омск
Сообщений: 91


можно еще одно пожелание:
число марок тоже может быть не одну строчку, а в несколько, допустим 10 марок, значит их же не надо в одну строчку вбивать, а например в три (4, 4, 2)
DANZZ вне форума  
 
Непрочитано 15.05.2006, 11:38
#24
Кулик Алексей aka kpblc
Moderator

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


Ну вы блин даете! Точно, аппетит приходит и далее по тексту. Я б уже задумывался о формировании диалогового окна, с формированием анонимного блока, в который засунуть все тексты и отрезки, и рисованием обычной выноски.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.05.2006, 12:00
#25
ki

Constructor
 
Регистрация: 28.09.2005
SPb
Сообщений: 689
<phrase 1= Отправить сообщение для ki с помощью Skype™


Гы. Я уже об этом задумался.
__________________
Для ухода за пожилым программистом требуется приятная женщина, говорящая на FОRTRАN, BАSIС и С++
ki вне форума  
 
Непрочитано 18.05.2006, 08:22
#26
DANZZ

Проектировщик
 
Регистрация: 05.05.2006
Омск
Сообщений: 91


подскажите какая функция округляет не целое число в большую сторону, например 3,2 = 4; 2,7 = 3 и т.п.
DANZZ вне форума  
 
Непрочитано 18.05.2006, 09:48
#27
VetalBY


 
Регистрация: 16.05.2005
г. Минск
Сообщений: 276


Цитата:
Сообщение от DANZZ
подскажите какая функция округляет не целое число в большую сторону, например 3,2 = 4; 2,7 = 3 и т.п.
свою надо писать имхо, что-то такое:
Код:
[Выделить все]
(defun fix_v (a / b)
  (setq b (fix a))
  (if (= a b) b (1+ b))  
)
это только для положительных значений
VetalBY вне форума  
 
Непрочитано 18.05.2006, 10:32
#28
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Или так
взято с Alaspher №10

Код:
[Выделить все]
;|
*  Ф-ция округление числа 
*  аргументы: 
   num - само число 
   digit - кол-во знаков после зпт. 
* В качестве положительного свойства - принимает отрицательные значения округления
* (для этого и делалась): (pl:round 12345.67 -3) -> вернёт - 12000
* http://forum.dwg.ru/showthread.php?p=26859#post26859
* Alaspher №10
|;

(defun pl:round (num digit / fact) 
  (setq fact 1.0) 
  (repeat (abs digit) (setq fact (* 10 fact))) 
  (if (minusp digit) 
    (setq fact (/ 1.0 fact)) 
  ) 
  (setq num (/ (fix (+ (* num fact) 0.5)) fact)) 
  (if (> 1 digit) 
    (fix num) 
    num 
  ) 
)
Пример
Код:
[Выделить все]
(setq num 3.2)
(setq r_num (pl:round (+ num 0.4999) 0))

Последний раз редактировалось VVA, 18.09.2015 в 23:39.
VVA вне форума  
 
Непрочитано 24.05.2006, 06:04
#29
DANZZ

Проектировщик
 
Регистрация: 05.05.2006
Омск
Сообщений: 91


Вот почитал и на основе ваших кодов написал свой.
но есть ряд вопросов:
1. После ввода каждой строки или кабельной марки появляется сообщение "неизвестная команда "VNSK"" как это убрать?

2. Можно ли эту выноску сделать как самостоятельный объект, т.е чтоб можно было бы в любое время редактировать в каком нибудь диалоговом окне
DANZZ вне форума  
 
Непрочитано 24.05.2006, 06:04
#30
DANZZ

Проектировщик
 
Регистрация: 05.05.2006
Омск
Сообщений: 91


Вот код
[ATTACH]1148436294.rar[/ATTACH]
DANZZ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Приложения для создания выносок