diego76
Guest
그것은 작동합니다! !출산은 어렵지만 좋은 끝에 갔다 (monlogue 복용).:혀:
이것은 올바른 코드 문자열입니다:
호출 shell("explorer.exe /select,""" & fullpathname & """, vbnormalfocus)
나는 davimont에 의해 필요한 업데이트 된 매크로를 첨부합니다.
감사합니다.
그것은 작동합니다! !출산은 어렵지만 좋은 끝에 갔다 (monlogue 복용).:혀:
이것은 올바른 코드 문자열입니다:
호출 shell("explorer.exe /select,""" & fullpathname & """, vbnormalfocus)
나는 davimont에 의해 필요한 업데이트 된 매크로를 첨부합니다.
링크가 더 이상 접근 할 수 없다는 것을 알고 있습니까? 나는 그것을 시도하고 싶다!크레어 당 매크로 tebella excel의 Parametric 부분 및 초안 파일::
http://www.cad3d.it/forum1/threads/...n-xls-vespa_83?p=390286&viewfull=1#post390286ps: 또한 excel에 있는 고체를 위한 프로그램의 많은 보기를 포함합니다
에 의해안녕하세요 ... 사용자 정의 필드를 사용하지 않는 연골을 채우기 위해 매크로가 있습니다. ·
버튼으로 활성화된 화면과 같습니다.
그가 말한다,... 스케일... 디자인. 책임...... 등
감사합니다.
문서 관리 및 제품의 수명주기를 위한 프로그램을 판매하는 기업에 의해
당신은 당신의 질문에 대답? 같은 매크로에 관심이 있습니다.
안녕하세요.문서 관리 및 제품의 수명주기를 위한 프로그램을 판매하는 기업
plm (제품 수명주기 관리) 또는 pdm (제품 데이터 관리).
매크로에 접근하기 때문에, 새로운 회사에서 일하고 있기 때문에, 나는 당신이 시도하고 그것을 쓸 것이다 beg을 beg했다 (내가 그것을 직접 볼 첫 번째 시간입니다).
그 후 단단한 edge\information\management 속성 내부 테이블로 시작
약간은 customizable, 오른쪽 컬럼 헤더를 클릭.
자주 하는 질문
알 수 있듯이, 아마도 단단한 가장자리 상인에 의해, 최신 버전에서 미리 설치 된 기본 pdm.
그가 무엇을 이해하려고 노력하는 방법. 라이센스가 필요합니다, 나는 포럼에서 누군가가 그것을 사용하는 경우 모른다.
sedm (solid edge data management)는 추가 라이센스가 필요하지 않으며 옵션으로 이동하여 활성화합니다.라이센스가 필요합니다, 나는 포럼에서 누군가가 그것을 사용하는 경우 모른다.
그런 다음 파란색에있는 모든 스케치를 가져 와서 모든 충돌을 제거하고 이제 파일은 비행에 열리고 닫습니다. 문제는 이제 새로운 것을 추가하거나 프레임 요소를 이미 만들 수 없습니다. 나는 그들을 삭제 할 수 있습니다 ... 모델이 그 구성에 얼어졌다면. 예를 들어, 스케치를 변경하지 않는 경우 그 스케치와 관련된 프레임을 업데이트하지 않습니다. 새로운 스케치를 만들고 프레임 요소를 확인하는 경우, "down" 메뉴에서 새로운 프레임을 표시하지만, 그 다음 표시되지 않습니다, 그것은 단지 벌거 벗은 스케치 표시로 남아 ...
안녕하세요.좋은 아침 ... 나는 도움을 필요로하기 때문에 쓰기. 이 경우 나는 매크로와 시트 금속 부분에서 절단의 전체 길이의 가치를 extrapolate하는 방법을 알고 있어야합니다.
이해하려고 하는 값은 "cost design"에서 컷 목소리로 존재합니다. 나는 스파이와 그를 발견하려고, 하지만 명백하게 나는 잘못.
누군가가 나에게 vbs 코드를 전달하기 위해 그렇게 한 경우 (값을 작성하는 msgbox) 나는 영원한 감사한다. 나는 약간의 영혼을 신뢰한다. 이름 *
절단 시간의 정확한 견적을 위해 레이저 cnc 소프트웨어를 사용해야합니다.좋은 아침 ... 나는 도움을 필요로하기 때문에 쓰기. 이 경우 나는 매크로와 시트 금속 부분에서 절단의 전체 길이의 가치를 extrapolate하는 방법을 알고 있어야합니다.
이해하려고 하는 값은 "cost design"에서 컷 목소리로 존재합니다.
그 사이에 스트레이트에 감사드립니다, 나는 예를 살펴하려고합니다, 그러나 나는 여전히 가능한 경우 기능을 첨부하도록 요청.안녕하세요.
위에서 언급 한 모든 지점을 다루는 좋은 시작점은 c :\programs\siemens\solid edge xxxx\custom\gandt에서 찾을 수있는 예 "gandt"입니다.
시각적 기본 지식이 있다면 당신은 약간의 노력으로 무엇을 찾고 있는지 얻을 수 있어야합니다.
그렇지 않으면 내가 내 기능을 커버 할 월요일을 기다립니다 (나는 순간에 나를 가지고 있지 않습니다).
안녕하세요.
efetti는 실제로 CNC (속도 및 끊는 시간)의 절단 테이블과 함께 인터페이스해야합니다. 휴식 시간은 큰 격자 또는 두께 (8 mm 이상)가있는 경우에만 상당히 영향을줍니다. 내 경우에, 정밀한 간격을 가지고, 나는 침수의 평균을 만들기에 의해 조정 할당량을 추가해서 그것을 관리할 것입니다, 격자의 경우에는 조각은 이 가공에 걸리는 다른 비용 모수가 있는 조합에 위탁될 것입니다.절단 시간의 정확한 견적을 위해 레이저 cnc 소프트웨어를 사용해야합니다.
내 공급자는 때때로 실루엣을 만드는 것보다 피어싱을 더 시간이 걸립니다. evidently 그것은 큰 두께와 많은 구멍 또는 excavations 가치가있다.
public sub avviocalcolocosto(tipo_lamiera 문자열로, 불린으로 bshowresult)
객체로 dim objfaces
객체로 dim objface
dim objtopfaces() 객체로
dim dblminrange (1에서 2) 두 배로
dim dblmaxrange (1에서 2) 두 배로
dim dblnormal (1에서 3) 두 배로: 이중으로 dim dblnormalref (1에서 3)
integer로 dim itopfacecount
integer로 dim ioutlineedgecount
dim ifoldedgecount로 정수
dim objoutlineedges() 객체로
dim objfoldedges() 대상
객체로 dim objedges
dim lgfacecount 로 긴
dim objsharedfaces(1에서 2) 객체로
integer로 dim isharedfaceindex
dim i 로 integer
dim j 로 정수
integer로 디엠 k
integer로 dim ifilepointer
dim dblstartpoint(1에서 3) 두 배로
dim dblendpoint(1에서 3) 두 배로
dim dblcenter (1에서 3) 두 배로
dim dblradius로 더블
dim dblstartangle로 더블
dim dblsweepangle 두 배로
dim dblmajoraxis(1에서 3) 두 배로
boolean으로 dim duplicateedge
dim dblorigin (1에서 2) 두 배로
긴으로 dim 치기
dim 치기 () 두 배로
dim Strokeparams() 두 배로
dim länge 로 더블
dim props as 객체
두 배로 dim dicke
dim vars 객체로
두 배로 dim 반경
dim schnitt(15)으로 더블
dim dx 로 더블
dim dy 로 더블
오류는 다음을 다시 시작합니다.
objapp = getobject (, "solidedge.application")를 설정합니다.
err이면
msgbox "solid edge deve essere aperto."
이름 *
끝 면
오류 goto 0
objapp.activeenvironment <> "sheetmetal"가면
msgbox "nessuna parte 에 lamiera aperta."
이름 *
끝 면
objfoldeddoc = objapp.activedocument 설정
문서가 단단한 모델이 있는지 확인
if objfoldeddoc.models.count = 0 다음
msgbox "il file aperto non contiene un modello solido" 파일.
이름 *
끝 면
objprops = objfoldeddoc.properties 설정
nomefilexls = (왼쪽 (objfoldeddoc.fullname, len (objfoldeddoc.fullname) - 4) + "_costo.xls")
구문 = 3
값 = 1
objmodel = objflatdoc.reference.body.shells(1)를 설정한다.
'모델의 판자 얼굴 모두 얻을.
'설정 objfaces = objmodel.body.faces(facetype:=igqueryplane)
objfaces = objmodel.faces '(facetype:=igface) 설정
'최고의 얼굴을 저장하는 메모리를 찾습니다.
redim objtopfaces(1 to objfaces.count / 2) 대상
'는 정상적인 모든 얼굴을 긍정적 인 z 축에 저장합니다.
itopfacecount = 0
objfaces에 있는 각 objface를 위해
' 얼굴의 기하학적 범위를 얻습니다.
호출 objface.getparamrange(minparam:=dblminrange, maxparam:=dblmaxrange)
'최소한도점에서 정상을 얻습니다.
전화 objface. getnormal(numparams:=1의 params:=dblminrange의 정상:=dblnormal)
' 긍정적 인 z 방향에 점진하면 확인.
만약 cstr(dblnormal(norm_vector)) = cstr(norm_value)
'최고의 얼굴 중 하나이기 때문에이 얼굴을 저장합니다.
itopfacecount = itopfacecount + 1
objtopfaces (itopfacecount) = objface 설정
끝 면
이름 *
'접촉 공간
'redim objoutlineedges(1 to objmodel.body.edges(igqueryall).count / 3) as object
redim objoutlineedges(1 to objmodel.body.edges(igqueryall).count / 2) as object
if tipo_lamiera = "virola"다음
redim objfoldedges(2) 대상
이름 *
redim objfoldedges(1 to itopfacecount * 2) 대상
끝 면
dim ofoldedges로 수집
set ofoldedges = 새로운 컬렉션
' 카운터를 초기화합니다.
ioutlineedgecount = 0의
ifoldedgecount = 0의 경우
' 상단 얼굴을 통해 이동하고 독특한 가장자리를 수집합니다. 어떤 가장자리든지
'는 상단 얼굴에 의해 공유, 다음 그들은 겹 가장자리로 분리 저장.
= 1
i = 1 에 itopfacecount
' trovo i 루프 della faccia e li sommo -1
n_profili = n_profili + objtopfaces(i).loops.count - 1
' 현재 얼굴의 가장자리를 모두 얻을.
objedges = objtopfaces(i)를 설정합니다.
'각 가장자리를 체크하면 다른 얼굴과 공유됩니다.
j = 1 에 objedges. 사이트맵
'이 가장자리를 공유하는 다른 얼굴을 가져옵니다.
호출 objedges(j).getfaces(numfaces:=lgfacecount, 얼굴:=objsharedfaces)
' 다른 얼굴을 가져옵니다.
objsharedfaces(1)는 objtopfaces(i)입니다.
isharedfaceindex = 2 은
이름 *
isharedfaceindex = 1 은
끝 면
' 얼굴의 기하학적 범위를 얻습니다.
호출 objsharedfaces(isharedfaceindex).getparamrange(minparam:=dblminrange, maxparam:=dblmaxrange)
'최소한도점에서 정상을 얻습니다.
호출 objsharedfaces(isharedfaceindex).getnormal(numparams:=1, params:=dblminrange, 정상:=dblnormal)
'정상적인 긍정적 인 z 방향에 점이면 가장자리가 다른 상단 얼굴과 공유됩니다.
if abs(dblnormal(norm_vector)) > norm_value - 0.1 및 dblnormal(norm_vector) < norm_value + 0.1 이후
'이 가장자리가 이미 회계 한 경우 확인.
거짓 = false
k = 1 에 ifoldedgecount
objedges(j)가 objfoldedges(k)인 경우
진정한
오시는 길
끝 면
이름 *
중복되지 않은 경우
'if itopfacecount * 2 < ifoldedgecount 다음
ifoldedgecount = ifoldedgecount + 1의 경우
objfoldedges(ifoldedgecount) = objedges(j)
ofoldedges.add (오래된)
이름 *
끝 면
이름 *
' 가장자리는 외부 가장자리입니다.
ioutlineedgecount = 연대측정 + 1
objoutlineedges (ioutlineedgecount)를 설정 = objedges (j)
끝 면
이름 *
이름 *
gesamtlänge = 0
i = 1 에 ioutlineedgecount
länge = 0
케이스 objoutlineedges(i).geometry를 선택합니다. 제품정보
케이스 igline
호출 objoutlineedges(i).getendpoints(startpoint:=dblstartpoint, endpoint:=dblendpoint)
'länge der 리니
länge = (dblendpoint(1) - dblstartpoint(1)) ^ 2 + (dblendpoint(2) - dblstartpoint(2)) ^ 2) ^ 0.5
케이스 igcircle
'는 가장자리가 실제로 원형 또는 아크인지 결정합니다.
objoutlineedges (i) .isclosed 경우에 그 후에
호출 objoutlineedges(i).geometry.getcircledata(centerpoint:=dblcenter, Axisvector:=dblnormal, 반경:=dblradius)
länge = dblradius * 2 * 파이
이름 *
getarcdata(objoutlineedges(i), true, dblcenter, dblnormal, dblstartpoint, dblendpoint,
dblstartangle의 dblsweepangle, dblmajoraxis의 dblradius)
' start angle을 수정하여 주요 축 방향을 기반으로합니다. 우리는 단지
x-y 장소에 2d 공간에 있는 아크에 대하여, 시작 각은 관계되어야 합니다
대신 X 축에.
dblorigin (1) = 0
dblorigin (2) = 0
dblstartangle = dblstartangle + 베어링 (dblorigin, dblmajoraxis)
länge = dblradius * dblsweepangle
끝 면
케이스 igellipse, igbsplinecurve
' 스트로크 ellipses 및 bspline 곡선.
호출 objoutlineedges(i).getstrokedata(tolerance:=0.001, Strokecount:=strokecount, points:=strokepoints, params:=strokeparams)
j = 2 을 치기 위해
dx = 스트로크 포인트 ((j - 1) * 3) - 스트로크 포인트 (j - 2) * 3)
dy = 뇌졸중 ((j - 1) * 3) + 1) - 뇌졸중 ((j - 2) * 3) + 1)
länge = länge + (dx ^ 2 + dy ^ 2) ^ 0.5
이름 *
끝 선택
gesamtlänge = gesamtlänge + länge
이름 *
i = 1 에 ifoldedgecount
케이스 objfoldedges(i)를 선택합니다. 위치 측정 제품정보
케이스 igline
호출 objfoldedges(i).getendpoints(startpoint:=dblstartpoint, endpoint:=dblendpoint)
케이스 igcircle
'는 가장자리가 실제로 원형 또는 아크인지 결정합니다.
objfoldedges (i) .isclosed 경우에 그 후에
호출 objfoldedges(i).geometry.getcircledata(centerpoint:=dblcenter, Axisvector:=dblnormal, 반경:=dblradius)
이름 *
getarcdata(objfoldedges(i), true, dblcenter, dblnormal, dblstartpoint, dblendpoint,
dblstartangle의 dblsweepangle, dblmajoraxis의 dblradius)
' start angle을 수정하여 주요 축 방향을 기반으로합니다. 우리는 단지
x-y 장소에 2d 공간에 있는 아크에 대하여, 시작 각은 관계되어야 합니다
대신 X 축에.
dblorigin (1) = 0
dblorigin (2) = 0
dblstartangle = dblstartangle + 베어링 (dblorigin, dblmajoraxis)
끝 면
케이스 igellipse, igbsplinecurve
' 스트로크 ellipses 및 bspline 곡선.
호출 objfoldedges(i).getstrokedata(tolerance:=0.001, Strokecount:=strokecount, points:=strokepoints, params:=strokeparams)
끝 선택
이름 *
오류는 다음을 다시 시작합니다.
props("perimetro").value = 형식 (gesamtlänge, "0.000") & "m"
err이면
props.add "perimetro", 형식 (gesamtlänge, "0.000") & "m"
끝 면
끝 이하
미안하지만 어제는 꽤 하루였습니다. 그 사이에 나는 당신에게 감사, 나는 즉시 스크립트를 만들기 위해 일을 넣어 (나는 vb를 사용하는 방법을 모른다, 그러나 나는 충분한 언어를 알고) 성공에 호핑.나는 당신에게 나의 계산 sub를 둘 것입니다. 필요한 모든 것을 정리해야합니다.
(나는 이미 보고서를 제거하고 겹의 계산 번호가 그렇지 않으면 너무 길고 나에게 보내지 않았다)
"loop"의 수를 계산하는 데 필요한 싱크 포인트 수를 계산하는 것을 추가
업데이트 및 솔루션:나는 나의 계산 하위에 당신을 넣을 것이다
안녕하세요.이전 :
파일 속성에서 직접 사용할 수없는 값이지만 계산해야합니다.
private sub designcost(여객처럼, eventargs) 핸들 button1.click
objapp = getobject (, "solidedge.application")
objdoc = objapp.activedocument
파일 형식 = "c:\test_costo\pippo.csv"
objdoc.exportdesigncosttocsv (objdoc.fullname, filecsv, false)를 호출합니다.
끝 이하
당신은 조금 일반적입니다. ·모든 것
설정 내에서 부품 또는 시트를 할당하는 매크로가 필요합니다.
누구도 그런 것입니까?
감사합니다!