网通访问 |电信访问 | 网络测速 | 联系管理员 |安全退出论坛,保护账号安全!
 51 123
发新话题
打印

答谢论坛朋友:版主解决问题专栏!!

答谢论坛朋友:版主解决问题专栏!!

大家好,本版主最近两三个月太忙了没时间来论坛为大家解决问题,最近几个月会有较好的时间来专门给大家解决问题!大家有问题尽管提,尽能表达清楚或附上图形。有能力解决的一定为大家解决。
附件: 您所在的用户组无法下载或查看附件
你的进步就是我的成绩! 紧急问题请发Email:xmltc@163.com

TOP

问一个哦,怎样更改CAD2004或都2002在任务栏的名字,也就是我想让CAD2004变成其他的名字,就如清华天河之类的软件那样,我也想给我开发的CAD二次软件正正名!!谢谢
刚入门,请多多关照

TOP

斑竹,我在做模具设计,用的是YMOLD外挂(繁体),挂在2002上,但字体是乱码,想请问一下斑竹,怎么样做才能出现是正常的繁体.我已装了中文之星.但没有效果.

另外我也买了繁体的CAD2005,但繁体CAD出来的菜单都是乱码的.

在这先谢谢斑竹了.

TOP

以下是引用zhangchangjunzz在2005-10-12 22:10:28的发言:

斑竹,我在做模具设计,用的是YMOLD外挂(繁体),挂在2002上,但字体是乱码,想请问一下斑竹,怎么样做才能出现是正常的繁体.我已装了中文之星.但没有效果.

另外我也买了繁体的CAD2005,但繁体CAD出来的菜单都是乱码的.

在这先谢谢斑竹了.



在Windows控制面板里面的区域增加,外文支持,如上图所示。
附件: 您所在的用户组无法下载或查看附件
你的进步就是我的成绩! 紧急问题请发Email:xmltc@163.com

TOP

回二楼:
这个要用ARX实现!
以CAD2002和VC6.0为例,在你的ARX程序的void InitApplication()函数中加上这样一句就OK:
SetWindowText(adsw_acadMainWnd(),"我的CAD系统");
别忘了前面还有如下的包含:
#include <afxwin.h>
#include <rxmfcapi.h>
#include <aced.h>
#include <rxregsvc.h>

[此贴子已经被作者于2005-11-5 22:35:49编辑过]

shoecad@126.com

TOP

我想要一个lisp程序:

把图形中的某个部分,复制到指定位置按比例放大,尺寸数值不变,并且在边上显示缩放比例。

不知能否办到?

先谢了。

1202wzp@163.com

TOP

没问题,可以办到,敬请期待。过几天吧,最近我公司新产品开发任务很重。
你的进步就是我的成绩! 紧急问题请发Email:xmltc@163.com

TOP

我想问下斑竹的公司主要做什么产品开发呀?

宠辱不惊闲看庭前花开花落, 去留无意漫观天外云展云舒。

TOP

做低压、中压、高压电器柜及其配件。还有一大部分汽车配件。包括模具、装配工装、半自动生产线等。
你的进步就是我的成绩! 紧急问题请发Email:xmltc@163.com

TOP

真后悔现在才来这个版块,现在才认识这位高水平的热心版大,希望我还没有错过机会!我想请楼主编出实现尺寸驱动结果如图所示,详细的请看附件,请版大抽时间看看!
附件: 您所在的用户组无法下载或查看附件

TOP

楼主,

局部放大的命令还没好吗?

TOP

不好意思,稍候,最近产品开发任务太重,长期伏案工作,颈椎病又犯了,以前都是下了班写程序,现在是下了班几乎不敢开电脑。

但是不会太久了,这几天已经好多了。

你的进步就是我的成绩! 紧急问题请发Email:xmltc@163.com

TOP

等版主有空了再向您请教问题。

TOP

;CTH.LSP 改变文字高度
;将所选取到的文字统一改成某一个高度。

(defun C:CTH ()
(graphscr);在单屏幕显示中用于文本屏幕转换为图形屏幕,返回nil
(prompt "\nSelect text to change height: ")
(setq e1 (ssget)) ;选取要更改字高的文字
(setq h1 (getdist "\nNew text height: ")) ;输入新字高
(setq nh (cons 40 h1)) ;组成新字高数据项
(setq i 0) ;索引值归零
(repeat (sslength e1) ;重复 N 次
(setq e2 (entget (ssname e1 i))) ;取出像素数据串行
(setq e3 (cdr (assoc 0 e2))) ;取出像素类别字符串
(if (= e3 "TEXT") ;判断是否为文字像素
(progn ;如果是...
(setq oh (assoc 40 e2)) ;取出旧的字高数据项
(setq e2 (subst nh oh e2)) ;置换串行内的数据项
(entmod e2) ;更新像素
)
)
(setq i (1+ i)) ;索引值加1
)
(princ)
)

请问斑竹,这个程序我调试过,可以运行,但是为什么文字高度好象没改变呢?

宠辱不惊闲看庭前花开花落, 去留无意漫观天外云展云舒。

TOP

我又看了看

对单行文本(_text)有效

对多行文本(_mtext)无效


我是初学,很多东西不懂

[此贴子已经被作者于2005-11-30 17:53:44编辑过]

宠辱不惊闲看庭前花开花落, 去留无意漫观天外云展云舒。

TOP

回14楼

程序没问题,可以运行字高也可以改变。但是只对单行文字有效,多行文字无效。

给你改了一下

(defun C:CTH ()
(graphscr);在单屏幕显示中用于文本屏幕转换为图形屏幕,返回nil
(prompt "\nSelect text to change height: ")
(setq e1 (ssget)) ;选取要更改字高的文字
(setq h1 (getdist "\nNew text height: ")) ;输入新字高
(setq nh (cons 40 h1)) ;组成新字高数据项
(setq i 0) ;索引值归零
(repeat (sslength e1) ;重复 N 次
(setq e2 (entget (ssname e1 i))) ;取出像素数据串行
(setq e3 (cdr (assoc 0 e2))) ;取出像素类别字符串
(if (or(= e3 "TEXT")(= e3 "MTEXT")) ;判断是否为文字像素
(progn ;如果是...
(setq oh (assoc 40 e2)) ;取出旧的字高数据项
(setq e2 (subst nh oh e2)) ;置换串行内的数据项
(entmod e2) ;更新像素
)
)
(setq i (1+ i)) ;索引值加1
)
(princ)
)

你的进步就是我的成绩! 紧急问题请发Email:xmltc@163.com

TOP

谢谢

请斑竹在看看这个程序,倒角标注程序

我刚编的,水平有限,运行起来有问题,请指正:

(defun c:as()
(setvar "cmdecho" 0)
(prompt "\n 倒角标注:2x45度...")
(setq osm (getvar "osmode"))
(setvar "osmode" 1)
(setq pt2 (getpoint "\n 请选择标注起点:"))
(setq pt3 (getpoint pt2 "\n请选择文字存放位置: "))
(if (and ( >= (angle pt2 pt3) (/ pi 2) ) ( <= (angle pt2 pt3) (/ (* pi 3) 2)) )
(progn
(setq pt4 (list(-(car pt3)23)(cadr pt3)))
(setq pt5 (list(+(car pt4)2)(+(cadr pt4)2)))
(command "pline" pt2 pt3 pt4 "")
(setq str (getint "\n请输入倒角大小:<2>"))
(if (null str) ( setq str 2 ))
(setq str1 (strcat (rtos str) "x45%%d"))
(command "text" pt5 6 0 str1 "")


)

(progn
(setq pt4 (list(+(car pt3)23)(cadr pt3)))
(setq pt5 (list(+(car pt3)2)(+(cadr pt3)2)))
(command "pline" pt2 pt3 pt4 "")
(setq str (getint "\n请输入倒角大小:<2>"))
(if (null str) ( setq str 2 ))
(setq str1 (strcat (rtos str) "x45%%d"))
(command "text" pt5 6 0 "2x45%%d" "")


)
)
(setvar "cmdecho" 1)
(setvar "osmode" osm)
)

再次言谢

宠辱不惊闲看庭前花开花落, 去留无意漫观天外云展云舒。

TOP

曾答应论坛里的朋友,写一个计算选择到的直线、圆、圆弧、多段线四种图元长度总和的命令。主要用来计算切割面积用的。
现在命令写好了,自己下载吧。
代码直接贴在这。
;;===================================
(vl-load-com)
(defun c:ssa(/ sel leng obj)
(setvar "cmdecho" 0)
(princ "\n本程序只对直线、圆、圆弧、多段线四种图元对象有效!")
;;带过滤器选择,只选择上述四种对象
(setq sel (ssget '((0 . "ARC,CIRCLE,LINE,LWPOLYLINE"))))
(if sel
(progn
(princ (strcat "\n共选择了" (rtos(sslength sel)2 0)"个有效对象!"))
(setq leng 0)
(while (>(sslength sel)0)
;;vlax-ename->vla-object把AutoLisp的对象转换为VLA对象
(setq obj (vlax-ename->vla-object (ssname sel 0)))
;;vlax-curve-getDistAtParam取得对象的长度
;;obj为VLA对象,vlax-curve-getEndParam取得对象的终点
(setq leng
(+ leng (vlax-curve-getDistAtParam obj (vlax-curve-getEndParam obj))))
(ssdel (ssname sel 0) sel)
)
(princ (strcat "\n所选对象的总长度为: " (rtos leng 2 3)))
)
)
(setvar "cmdecho" 1)
(princ)
)

;;===================================
[attach]428866[/attach]

[此贴子已经被作者于2005-12-7 11:27:14编辑过]

你的进步就是我的成绩! 紧急问题请发Email:xmltc@163.com

TOP

以下是引用模影在2005-11-23 8:43:53的发言:

楼主,

局部放大的命令还没好吗?

已经好了,但没有经过实用测试,只是在编写时进行简单测试,而且在选择与修剪上办法比较笨,想不到好的更精简的代码,请大家批评指正。
代码贴在这,并在本贴后面有下载
;;===================================

;;定义局部放大程序
(defun c:sca(/ osm ent pc rad ang pt_lst pd sel last_ent sell aid_sc sc pt n)
(setvar "cmdecho" 0)
(vl-cmdf "_.undo" "be")
(setq osm (getvar "osmode"))
(setq ent (entsel "\n选择用于限定缩放区域的圆:"))
(if ent
(progn
(if(=(cdr(assoc 0(entget (car ent))))"CIRCLE")
(progn
(setq pd (getpoint "\n指定放置点:"))
(if (not pd)(exit))
(setq pc (cdr (assoc 10(entget (car ent)))))
(setq rad (cdr (assoc 40(entget (car ent)))))
(setq ang 0)
(while (< ang (* 2 pi))
(setq ang (+ ang (* 0.1 pi)))
(if pt_lst
(setq pt_lst (cons (polar pc ang rad)pt_lst))
(setq pt_lst (list (polar pc ang rad))))
)
(setvar "osmode" 0)
(setq sel (ssget "cp" pt_lst))
(setq last_ent (entlast))
(vl-cmdf "_.copy" sel "" pc pd)
(setq sell (ssadd))
(while (setq last_ent(entnext last_ent))
(ssadd last_ent sell)
)
(setq aid_sc (getvar "userr1"))
(if (= aid_sc 0)(setq aid_sc 2))
(setq sc (getreal (strcat"\n输入缩放比例<" (rtos aid_sc 2 3)">:")))
(if sc (setvar "userr1" sc)(setq sc aid_sc))
(vl-cmdf "_.scale" sell "" pd sc)
(repeat 2
(setq ang 0)
(vl-cmdf "_.trim" "" "f")
(while(<= ang (* 2 pi))
(vl-cmdf (setq pt (polar pd
(setq ang (+ ang (* 0.1 pi)))
(* 1.1 sc rad)))))
(vl-cmdf "" "")
)
(setq n 0)
(repeat (sslength sell)
(if(/=(cdr(assoc 0(entget(ssname sell n))))"DIMENSION")
(ssdel (ssname sell n) sell)(setq n (+ 1 n))))
(vl-cmdf "_.dimoverride" "dimlfac" (/ 1.000 sc) "" sell "")
)

)
)
)
(setvar "osmode"osm)
(vl-cmdf "_.undo" "e")
(setvar "cmdecho" 1)
(princ)
)
;;===================================

[attach]428952[/attach]
你的进步就是我的成绩! 紧急问题请发Email:xmltc@163.com

TOP

以下是引用jxgzlyh在2005-11-20 9:02:56的发言:
真后悔现在才来这个版块,现在才认识这位高水平的热心版大,希望我还没有错过机会!我想请楼主编出实现尺寸驱动结果如图所示,详细的请看附件,请版大抽时间看看![attach]419976[/attach]

你要的程序应该叫做“参数化绘制螺母”,而不是尺寸驱动吧,尺寸驱动的概念应该是选择尺寸,对它的数值进行修改,同时图形按新的尺寸进行重新生成,就像Pro/E、SolidWorks等三维设计软件一样。
我有螺纹的绘制参数化程序,只不过不清楚是不是你想要的。
你的进步就是我的成绩! 紧急问题请发Email:xmltc@163.com

TOP

 51 123
发新话题