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

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

Можно ли к размеру прибавить определенное число, не меняя саму деталь

Ответ
Поиск в этой теме
Непрочитано 21.07.2011, 10:24 #1
Можно ли к размеру прибавить определенное число, не меняя саму деталь
makusik
 
Конструктор
 
Казань
Регистрация: 02.09.2009
Сообщений: 102

Есть группа размеров. Необходимо к каждому размеру прибавить одно и то же число не меняя деталь. Помогите, как это можно сделать?
__________________
makusik
Просмотров: 3162
 
Непрочитано 21.07.2011, 10:29
#2
hwd

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


Сделать такое можно и не сложно (на лиспе будет быстрее всего, ибо займёт пару строчек), но... А как ты смотришь на то, чтобы в последствии тебе устроили встречу с теми, кто будет работать по твоим чертежам (после того, как они это уже сделают)? Не беспокоишься за своё здоровье?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 21.07.2011 в 10:36.
hwd вне форума  
 
Непрочитано 21.07.2011, 10:41
#3
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Код:
[Выделить все]
 (defun dimplus (x ent)
  ((lambda (lst)
    (entmod (subst (cons 1 (if (zerop x)
                           ""
                           (strcat "*"(rtos(+ x (cdr (assoc 42 lst)))))))
            (assoc 1 lst)
            lst)))
   (entget ent)))
Где x значение которое нужно прибавить (добавляет к реальному размеру - т.е. при повторном вызове ничего не изменится), ent - ename размера. При установке коэффицента 0 возращает "оригинальное" значение.
Пример вызова:
Код:
[Выделить все]
 (vl-load-com)
(mapcar '(lambda (ent) (dimplus 10 ent))
        (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget (list (cons 0 "DIMENSION")))))))
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 21.07.2011 в 10:47.
Дима_ вне форума  
 
Автор темы   Непрочитано 21.07.2011, 13:58
#4
makusik

Конструктор
 
Регистрация: 02.09.2009
Казань
Сообщений: 102


Цитата:
Сообщение от hwd Посмотреть сообщение
Не беспокоишься за своё здоровье?
шутку оценил

Дима_ большое спасибо

А можно в этот код вписать запрос на желаемое приращение?
__________________
makusik

Последний раз редактировалось makusik, 21.07.2011 в 15:50.
makusik вне форума  
 
Непрочитано 21.07.2011, 16:18
#5
VVA

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


Цитата:
Сообщение от makusik Посмотреть сообщение
А можно в этот код вписать запрос на желаемое приращение?
Код:
[Выделить все]
(vl-load-com)
(mapcar '(lambda (ent) (dimplus (progn (initget 1)(getreal "\nВведите приращение: ")) ent))
        (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget (list (cons 0 "DIMENSION")))))))
Ф-цию dimplus берем в #3
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.07.2011, 16:33
#6
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


То VVA - а как он поймет какой сейчас "приращается":
тогда уж:
Код:
[Выделить все]
 (vl-load-com)
((lambda (x) 
   (mapcar '(lambda (ent) (dimplus x ent))
           (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget (list (cons 0 "DIMENSION"))))))))
 (progn (initget 1)
        (getreal "\nВведите приращение: ")))
а если как у Вас - то как минимум надо "подсветку" ввести.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 21.07.2011, 16:38
#7
makusik

Конструктор
 
Регистрация: 02.09.2009
Казань
Сообщений: 102


Супер!
__________________
makusik
makusik вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Можно ли к размеру прибавить определенное число, не меняя саму деталь

Реклама i